LingMo 发表于 2022-2-7 18:29

【在od改段寄存器会自动恢复

本帖最后由 LingMo 于 2022-2-8 20:10 编辑

在od改段寄存器会自动恢复,而且用mov指令或者在od里直接修改都会恢复,要怎么样做才能改到
64位,win10和win7都是这样

答案应该是这样:
在64位模式下,每当将非空段选择器加载到任何数据段寄存器(DS、ES、SS、FS、GS)中时,处理器都会自动将相应的段描述符加载到描述符cache中,这和保护/兼容模式一样。但是,通过这个非空选择子读写内存时,数据段的基地址强制为0,段界限忽略,不进行界限检查而是进行canonical-address form检查。


通俗点将的话就是:64位下cpu已经不管段寄存器的死活了

冥界3大法王 发表于 2022-2-7 18:46

改完之后,记录机器码啊,再用HIEW等工具充填回去。

raimis 发表于 2022-2-7 18:46

32位下段寄存器不能随便改吧。。。

冥界3大法王 发表于 2022-2-7 19:44

raimis 发表于 2022-2-7 18:46
32位下段寄存器不能随便改吧。。。

可是导演是这么安排剧情的啊。。。
或许他的剧本就这样的吧?{:301_976:}

我今天是大佬 发表于 2022-2-8 09:10

使用内存补丁吧
页: [1]
查看完整版本: 【在od改段寄存器会自动恢复