我在搞一些逆向工程,但我不知道如何使用十六进制编辑器将 jnz 更改为 jz。我知道它会因系统而异,但我不确定在哪里可以找到这些信息。我正在使用 Mac OS X 64 位,并使用 IDA Pro 反汇编代码。
问问题
11170 次
2 回答
9
如果您找到了jz
,它将看起来像74 XX
或0F 84 XX XX XX XX
。如果是74
,请将其更改为75
。如果是带有 的84
,请将其更改为85
。此信息可在英特尔手册(第 2A 卷)等其他地方找到。
它不会因系统而异,只要它们都是基于 x86 的,如果它们不是那么jz
甚至jnz
可能不存在..
于 2012-08-20T14:28:42.267 回答
1
我假设这样做的正确方法是找出感兴趣指令的操作码(操作码)。由于您对 jz 和 jnz 指令感兴趣,我推断您在 Intel x86-64 机器上。这意味着您需要查看英特尔的参考资料http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html。我相信,您可能会在此处找到有关英特尔 64 位程序集的所有信息。您将能够在任何地方应用这些知识,例如,在十六进制编辑器中编辑操作码。
于 2012-08-20T15:43:14.273 回答