我写了简单的Hello Word程序与MASM32。 但后来当我尝试用IDA拆开它,我得到更大的输出(我不会写那里,因为它会采取多大的空间)。 为什么它是不同的,我不明白这一点。 如何运行disasembled代码?
Answer 1:
这很正常。 编译是一个“有损”的过程,这意味着如果您编译代码,然后编译它,你不能保证得到完全一样的东西出来,你最初投入。同样的道理也适用于汇编语言。 当您汇编并链接代码,这是一个单向的过程。
这就是为什么程序员保存原始的源代码,而不是仅仅试图反编译它们的可执行文件,当他们想修复漏洞。
文章来源: Reading disassembled code