养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

x86如何切换到x64

时间:2024-10-25 10:31:24

在32位程序里执行x64代码。

工具/原料

64位window系统

x86汇编

方法/步骤

1、经研究发现,x86与x64的区别在于cs段寄存器的值。x86为0x23x64为0x33

x86如何切换到x64

2、我们利用可以改变cs段描述符的指令retf来构造个切换到x64的函数:

x86如何切换到x64

3、同样,我们利用retf来构造个切回到x86的函数

x86如何切换到x64

4、在需要执行x64指令时,我们先call一下切换到x64的函数就可以进行执行了。执行足薏篇瓜完后我们还需要call一下切回到x86的挣窝酵聒函数来保证32位程序后续的正常执行。因为切回到x86的函数是在x64下执行的,所以这个看上去有点异常的代码,实际上才是正常的。

© 一点知识