2010-08-16 63 views
2

我必须在我的Pocket PC中修补arm可执行文件。修补臂可执行吗?

我使用IDA Pro解散ARM可执行文件。但我无法编辑二进制文件。正如你所知,Ollydbg让我们编辑二进制/添加汇编代码(右键单击 - >汇编),但它不支持ARM。所以我用IDA Pro进行分解。但在IDA中,我无法将我的汇编代码添加到我的ARM可执行文件中。在“编辑>修补程序>组装”之后,它提供了一个错误。 (对不起,此处理器模块不支持汇编器)。

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

谢谢...

回答

0

你可以尝试拆卸(全)二成汇编程序,然后使用汇编回到一个二进制文件(GNU/binutils的工具,例如)。然后,一旦这个工作将您的修改添加到汇编器。

另一种替代方法是组装新功能,在二进制文件中找到一个放置新代码的位置,并将一个或两个指令替换为新代码的分支链接。这是一个手工二进制修改,而不是一个GUI工具将要做的事情。将不得不手动计算分支链接指令。

+0

第二种方式对我更有用我在Ollydbg中使用了这种方式来执行x86可执行文件。谢谢你的回答。但我不明白手修改??我将使用哪些程序/软件进行修改? – newbiereverser 2010-08-16 14:55:12

+0

顺便说一句,我想补丁的程序在Windows Mobile上运行..所以gnu/binutils工具可以用于它吗?谢谢.. – newbiereverser 2010-08-16 14:57:25

1

不是特别是很有帮助,但我通常查阅指令集引用并找到指令编码,然后拨动hexdump,直到反汇编匹配我想要的。

您或许可以使用gas为您组装指令,然后再复制hexdump。