要对绝对地址 0x100 赋值, 我们可以用 (unsigned int*)0x100 = 1234; (地址变量没有负值);
那么要是想让程序跳转到0x100去执行,应该怎么做?
*((void(*)()) 0x100)();
解释如下:
先将 0x100 转化为 函数指针 (void(*)()) 0x100
然后再调用它:
*((void(*)())0x100)();
用typedef可以看的直观些
typedef void(*)() voidFuncPtr;
*((voidFuncPrt)0x100)();