反编译不同于反汇编,反汇编和反编译就是把汇编和编译反过来执行的过程。
程序的基本流程,包括预处理->编译->汇编->链接->执行,
编译是将已经预编译的文件编译成汇编代码的过程,整个过程会包含语法,词法的分析,和一些优化操作,实现函数会变成一堆汇编指令。
汇编
将编译完的汇编代码文件翻译成机器指令,并生成可重定位目标程序的.o文件,该文件为二进制文件,字节编码是机器指令。
汇编器是将汇编代码转变成机器可以执行的指令,每一个汇编语句几乎都对应一条机器指令。所以汇编器的汇编过程相对于编译器来讲比较简单,它没有复杂的语法,也没有语义,也不需要做指令优化,只是根据汇编指令和机器指令的对照表一一翻译即可。
链接
通过链接器将一个个目标文件(或许还会有库文件)链接在一起生成一个完整的可执行程序。
详细查看网址:反编译和反汇编