是否有“往返”x86 / 64反汇编/汇编程序组合可用?

时间:2012-02-03 05:33:48

标签: assembly x86 disassembly

微软的宏汇编程序和DumpBin是很棒的工具,但你不能将DumpBin的结果输入MASM - 它缺少正确汇编所需的一些信息(如异常处理指令),语法似乎也有问题。

是否有任何x86 / 64反汇编程序可以生成反汇编代码,可以将无需修改组装回完全原始可执行文件?

1 个答案:

答案 0 :(得分:2)

除非我们在DOS中讨论像.COM这样简单易用的可执行文件,否则我对此表示怀疑。这些天可执行文件除了原始代码及其数据之外还包含很多东西,并且完全提取所有组件并将它们重新组合在一起并不是非常简单或普遍支持的。

然后,不要忘记许多指令可以用几种不同的方式编码(例如mov ax, 0)。为了应对编码歧义,您应该明确地汇编db 0b8h, 0, 0db 0c7h, 0c0h, 0, 0而不是mov ax, 0。 db你可以毫无损失地组装。