反编译和反汇编有什么区别?

2025-01-07 09:05:11
推荐回答(4个)
回答1:

当然有区别,不然弄两个同义词与意思么?
汇编:是把汇编源程序转变为目标程序(当然还不是最终的可执行的,因为还没有连接程序);
编译:就是把通过用高级语言编写的源程序通过编译器转变为目标程序;
反汇编:将可执行的文件中的二进制经过分析转变为汇编程序。
反编译:将可执行的程序经过分析转变为高级语言的源代码格式,一般完全的转换不太可能,编译器的优化等因素在里面。

回答2:

正如你所说,反汇编是得到汇编代码,反编译是得到高级语言代码.就是这个区别.

程序逆向工程可以得到高级语言代码,但和编译前的代码看上去区别非常大,主要原因是编译器在编译优化过程中,局部不可逆地改变了程序结构,还有就是所有的变量都变成了非常奇怪的名字,可读性很差.

回答3:

有一定区别~
一般编译型语言的程序叫反编译~
解释型语言的程序叫反汇编~
用IDA的一个插件可以做到反汇编一些程序的到源代码的~

回答4:

反汇编是把机器码翻译成的汇编;
反编译是把机器码翻译成高级语言的过程,但通常要有其他线索辅助才能完成。