IDA中修改汇编指令的推荐方式

逆向工程 艾达 部件
2021-06-24 11:24:53

修改在 IDA 中打开的二进制文件中的指令并将更改保存到原始文件的最简单方法(或是否有任何方法)是什么?是否有内置汇编器的输出可以放置在某个偏移量处?编辑十六进制视图后如何保存二进制文件?

1个回答

使用 IDA Pro 这很容易:

将光标放在要修改的第一条指令上,转到 Edit | 补丁程序| 集合

IDA 专业版 |  编辑 |  补丁程序|  集合

根据需要更改说明,直到完成,然后按 OK IDA 专业版 |  组装说明

最后选择编辑| 补丁程序| 将补丁应用于输入文件(并可选择进行备份)。

这是一个例子:https : //www.remkoweijnen.nl/blog/2013/05/23/application-compatibility-fixing-to-the-extreme/

从帮助:

编辑|修补核心子菜单 此子菜单允许您修补输入文件的图像。更准确地说,IDA 从不修改输入文件。加载到数据库的输入文件的图像将被修改。您可以修改输入文件的图像:

    - change a byte
    - change a word
    - enter an assembler instruction (only for IBM PC)

IDA 将显示原始值、当前值和文件偏移量。如果文件偏移量等于 0xFFFFFFFF,则当前字节来自压缩页面(例如 LX/LE/NE 迭代页面)和/或无法确定文件位置。您可以创建差异文件并使用外部工具应用补丁,或者您可以使用 IDA 将补丁直接应用到文件。

以下命令可用:

修补字节或字汇编...将修补程序应用于输入文件...

另请参阅:生成 EXE 文件 生成 DIF 文件 编辑子菜单。