在IDA中修改并保存

问题描述 投票:0回答:3

是否可以将代码添加到 IDA 中的当前二进制文件中,然后保存以重新编译该二进制文件?我查过 Google,但没有关于 IDA 是否可以做到这一点的建议。如果没有,最好对过时的固件进行一些相当大的修改?

我需要从文件中加载额外的类/函数吗?

reverse-engineering disassembly ida
3个回答
0
投票

您无法使用 IDA 重新编译源数据文件(该程序在其主程序中找到的“创建 EXE 文件”工具不执行任何操作 - 它基本上带有一个消息框,告诉用户所选的输出文件类型是不支持)。

您唯一的选择可能是使用源文件的编译器编译代码,在源文件的映像中添加一个新段,在其中转储自定义(已编译)代码,并修补原始代码(.text)段中的适当位置以调用到你的代码中。不知道 IDA 是否支持步骤 #2 和 #3 所需的静态修补,但您可能会找到其他工具来帮助您(您可以从 OllyDbg 开始)。

我以前从未尝试过做此类事情,所以请对我的建议持保留态度。然而,我见过各种附加有任意段的二进制文件。

编辑:在解决这个问题时看看这个问题 - IDA pro asm 指令更改


0
投票

当我必须对我的二进制文件进行小更新时,我喜欢十六进制编辑,有点不错,而且选项很简单。 (小更新;))


0
投票

我找到了一个链接,他们在其中修补代码并在 IDA 中重新编译它

https://medium.com/@k_kisanak/binary-patching-with-ida-pro-part-1-c806d0f20d22

© www.soinside.com 2019 - 2024. All rights reserved.