重新编译IDA pro创建的asm文件

逆向工程 拆卸 艾达 蟒蛇
2021-07-07 07:36:50

目前我正在尝试使用 IDA pro从 PE 文件生成汇编代码并重新编译它

第一

基本上我知道这样:

File -> Produce File -> Create ASM File

而且它生成的asm文件好像不能直接重新编译。

第二

在IDA中使用一些IDC或Python脚本提取有用的asm指令,将它们放在一起并重新编译,这种解决方案可以从一些学术论文中看到,但没有人给出有关如何完成此任务的详细说明...

谁能给我一些关于这个问题的说明..?谢谢!

2个回答

许多年前,我编写了一个非常粗略的脚本,使用大多数与 nasm 兼容的语法将当前(由光标位置定义)函数转储到输出窗口。您可能会修改以将输出保存到文件并迭代数据库中的每个函数。该脚本可在此处获得:nasm dumper

我会回答部分

将它们按顺序放在一起并重新编译

如果您的反编译包含函数块,请注意使用从函数环境接受外部代码的汇编程序,并注意数据保护执行。

有关函数块的更多信息:Chunked function(包含函数的不连续代码块)