02
2020
04

将程序跳转到指定内存地址 要对绝对地址0x100000赋值,我们可以用(unsigned int*)0x100000 = 1234;那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做?

((void ()( ))0x100000 ) ( );

  首先要将0x100000强制转换成函数指针,即:

  (void ()())0x100000

  然后再调用它:

  ((void ()())0x100000)();

  用typedef可以看得更直观些:

  typedef void()() voidFuncPtr;

  *((voidFuncPtr)0x100000)();

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。