【问题标题】:Patching Arm Executable?修补手臂可执行文件?
【发布时间】:2011-02-19 12:35:59
【问题描述】:

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

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

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

谢谢...

【问题讨论】:

    标签: assembly arm patch ollydbg


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 第二种方式对我来说更有用,我在 Ollydbg 中为 x86 可执行文件使用了这种方式。谢谢你的回答。但我不明白手动修改??我将使用哪个程序/软件进行修改?
      • 顺便说一下,我要打补丁的程序是在Windows Mobile上运行的。那么gnu/binutils工具可以用吗?谢谢..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多