我们可以用(unsigned int*)0x100000 = 1234;
那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做? *((void (*)( ))0x100000 ) ( ); 首先要将0x100000强制转换成函数指针,即: (void (*)())0x100000 然后再调用它: *((void (*)())0x100000)(); 用typedef可以看得更直观些: typedef void(*)() voidFuncPtr; *((voidFuncPtr)0x100000)();
本文介绍了如何使用C语言直接操作内存地址,包括设置特定内存地址的值及从该地址处调用函数的方法。通过类型定义和强制类型转换,实现对内存的精确控制。
1812

被折叠的 条评论
为什么被折叠?



