如何将EAX的存储替换为直接常数的存储?



在我之前的问题中,我问如何将国家代码更改为我需要的代码。我在拆卸中进行了更多的探索,我发现了我需要这个更改的确切位置。在其他文件中,代码似乎是:

mov ds:dword_73A9C8, 1

我要编辑的文件中有

mov ds:dword_73A9C8, eax

我试图通过十六进制编辑IDA中的文件以将其与第一行代码匹配,然而,该函数,即使在延长其长度之后,每次编辑它时似乎都会中断。

我的问题是如何在不破坏函数

的情况下将eax移动到1移动
sub_4A2B60 proc near
arg_0= dword ptr 4
mov eax, [esp+arg_0]
mov ds:dword_73A9C8, eax
retn
sub_4A2B60 endp 

您可以将4字节指令mov eax, [esp + 4]替换为同样有4字节的序列xor eax, eaxinc eaxnop

1如果如果是你想要的,那么EAX的返回值可能也应该是1。

相关内容

  • 没有找到相关文章

最新更新