2

我必须在我的 Pocket PC 中修补一个 arm 可执行文件。

我正在使用 IDA Pro 反汇编 ARM 可执行文件。但我无法编辑二进制文件。如您所知,Ollydbg 让我们编辑二进制/添加汇编代码(右键单击-> 汇编)但它不支持 ARM。所以我用 IDA Pro 拆解它。但在 IDA 中,我无法将汇编代码添加到我的 ARM 可执行文件中。在 "Edit>Patch Program>Assemble" 之后,它给出了一个错误。(对不起,这个处理器模块不支持汇编程序)。

那么如何将我的汇编代码添加到这个 ARM 可执行文件中呢?

谢谢...

4

2 回答 2

1

不是特别有用,但我通常查找指令集参考并找到指令编码,然后摆弄 hexdump 直到反汇编与我想要的匹配。

您可能可以使用gas为您汇编指令,然后也复制 hexdump。

于 2010-08-16T22:12:40.600 回答
0

您可以尝试将(整个)二进制文件反汇编成汇编程序,然后使用汇编程序返回二进制文件(例如 gnu/binutils 工具)。然后一旦工作,将您的修改添加到汇编程序。

另一种选择是组装您的新函数,在二进制文件中找到一个可以放置新代码的位置,然后用指向新代码的分支链接替换其中的一两条指令。这是手动二进制修改,而不是 gui 工具要做的事情。将不得不手动计算分支链接指令。

于 2010-08-16T14:32:18.557 回答