修补 Arm 可执行文件吗?
我必须修补我的 Pocket PC 中的 arm 可执行文件。
我正在使用 IDA Pro 反汇编 ARM 可执行文件。但我无法编辑二进制文件。如您所知,Ollydbg 让我们可以编辑二进制文件/添加汇编代码(右键单击 -> 汇编),但它不支持 ARM。所以我用IDA Pro来反汇编它。但在 IDA 中,我无法将汇编代码添加到我的 ARM 可执行文件中。 “编辑>补丁程序>汇编”后,出现错误。 (抱歉,该处理器模块不支持汇编器)。
那么如何将我的汇编代码添加到这个 ARM 可执行文件中呢?
谢谢...
I must patch an arm executable in my Pocket PC.
I am dissassembling the ARM executable with IDA Pro. But I can not edit binary. As you know Ollydbg let us to edit binary / add assembly code (Right Click->Assemble) But it doesnt support ARM. So I dissassembly it with IDA Pro. But in IDA , I can not add my assembly code into my ARM Executable. After "Edit>Patch Program>Assemble" , It gives an error. (Sorry, This processor module doesnt support the assembler).
So how can add my assembly code into this ARM executable?
Thanks...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不是特别有帮助,但我通常会查找指令集参考并找到指令编码,然后摆弄十六进制转储,直到反汇编与我想要的相符。
您可能可以使用 Gas 为您汇编指令,然后也复制十六进制转储。
Not particularly helpful, but I usually look up the instructions set reference and find the instruction encoding, and then fiddle with the hexdump until the disassembly matches what I want.
You can probably use
gas
to assemble instructions for you and then copy the hexdump around, too.您可以尝试将(整个)二进制文件反汇编为汇编程序,然后使用汇编程序返回二进制文件(例如 gnu/binutils 工具)。然后,一旦工作正常,请将您的修改添加到汇编器中。
另一种选择是组装新函数,在二进制文件中找到一个可以放置新代码的位置,并用指向新代码的分支链接替换一两个指令。这是手动二进制修改,不是 GUI 工具要做的事情。将必须手动计算分支链接指令。
You could try to disassemble the (whole) binary into assembler, then use an assembler to go back to a binary (gnu/binutils tools for example). Then once that works add your modifications to the assembler.
The other alternative is to assemble your new function, find a place in the binary where you can place your new code and replace one or two of the instructions with a branch link to your new code. This is a hand binary modification, not something a gui tool is going to do. Will have to hand compute the branch link instruction.