【问题标题】:Edit (patch) a binary file in IDA Pro在 IDA Pro 中编辑(修补)二进制文件
【发布时间】:2010-11-01 11:28:23
【问题描述】:

我想知道如何在 ida pro 中编辑二进制文件(我只需要更改一条指令!)

(其 ARM 二进制文件)

谢谢

【问题讨论】:

    标签: binary arm reverse-engineering


    【解决方案1】:

    我认为 IDA 曾经有一个功能可以做到这一点,但它在当前版本中不存在。

    您应该只使用十六进制编辑器。记下 IDA 中的文件偏移量并编辑该地址处的文件。如果您想查看 IDA 中的更改,请使用“文件”->“加载文件”->“重新加载输入文件”菜单项。

    【讨论】:

    • 这也是我找到的最好的方法,可惜
    【解决方案2】:

    可能编辑:

    idagui.cfg: DISPLAY_PATCH_SUBMENU = 是

    如果菜单未启用,则使用

    编辑/补丁代码/更改字节

    【讨论】:

    • 这不会在实际的二进制文件中改变它
    【解决方案3】:

    首先按照 Lundman 的建议进行操作,然后选择 File / Produce / DIF 文件。

    然后使用外部工具应用差异文件

    【讨论】:

      【解决方案4】:

      IDA 6.2 具有开箱即用的“编辑”->“补丁程序”菜单。无需修改 idagui.cfg。还有一个“将补丁应用到输入文件”选项,可以修改目标文件。

      【讨论】:

        【解决方案5】:
        1. 在“IDA 视图”子视图中选择您需要更改的指令。

        2. 切换到“十六进制视图”子视图。您将看到几个突出显示的十六进制数字。

        3. 按“F2”,编辑它,完成后,再次按“F2”。

        4. 就是这样。您将在其他子视图中看到您的更改。

        【讨论】:

        • 自从我问这个问题以来的近十年里,答案似乎已经改变了!因此,是否可以在您的答案中引用与此相关的 IDA Pro 的当前工作版本号?谢谢!
        • 根据我的经验,IDA 6.6 运行良好。以下产品也是如此。我也遇到了这个问题。如果看到这个问题,我希望它可以帮助其他人。
        【解决方案6】:

        我是这样做的

        Edit > Patch Program > Assemble 
        

        在组装/修补指令后点击 Apply Patches to Binary

        完成:)

        【讨论】:

        • 我做了类似的事情。由于这比旧答案容易得多,这是新版本中的新方法吗?我正在使用 IDA 免费 7.6。
        • 除非我做错了什么(???),这似乎并不总是有效。有时,我组装一条指令,它在 IDA 中发生了变化,我在 Hex 视图中看到了它,但是当我尝试应用补丁时,在 HxD 上我看不到变化(如果我按照 VictorV 的说法直接在 Hex 视图中修改) , 有用)。我刚刚将一个 2 字节指令修补到 2 个 NOP 并且它起作用了。将 NOP 修补到 RET 并且它起作用了。再次将 RET 修补到 NOP,只有一个有效。另一个字节仍然是 C3 而不是 90 (x86)。 [此处为 IDA Pro 7.6 SP1。] 可能会坚持使用 Hex View 方式,直到他们解决此问题。
        猜你喜欢
        • 2018-03-25
        • 2010-09-24
        • 2011-05-27
        • 2012-01-28
        • 1970-01-01
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 2019-10-22
        相关资源
        最近更新 更多