如何让程序跳转到绝对地址去执行

如何让程序跳转到绝对地址去执行,第1张

把0x100000强制转换为对应ptr的地址指针, 应该是 void * 0x100000^ 恕我没看懂,不过我猜想要表达的意思是错的 ((void (*)())0x100000)() 大概可以利用define改写成下面的形式 #define FUNCTION_POINTER

把0x100000强制转换为对应ptr的地址指针, 应该是 void * 0x100000

^ 恕我没看懂,不过我猜想要表达的意思是错的

((void (*)())0x100000)() 大概可以利用define改写成下面的形式

#define FUNCTION_POINTER_TYPE   void (*)()

#define ADDRESS_AS_FUNCTION     (FUNCTION_POINTER_TYPE)0x100000

#define PARENTHESISED_FOR_CLEAR (ADDRESS_AS_FUNCTION)

PARENTHESISED_FOR_CLEAR()

没细看LZ的问题

((void (*)())0x100000)()

这个的确是合法的,只要内存0x100000是可执行且其中的程序是正确的就可以运行

*((void (*)())0x100000)()

应该是错误的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11075086.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存