反汇编
从代码到最终可执行文件,要经过预处理、编译、汇编、链接四个过程:
1.预处理:对程序进行简单的处理,比如头文件包含展开
2.编译:汇编语言编译器用汇编语言来翻译文件
3.汇编:生成目标文件,该文件由机器指令构成
4.链接:对程序中用到的库,进行链接
在汇编阶段,生成的是由机器指令构成的目标文件,而链接阶段生成的可执行文件是在汇编阶段生成的目标文件的基础上链接程序中使用的库到程序中而形成,所以要查看一个函数的汇编形式,最好是对目标文件进行反汇编,而不是可执行文件的反汇编,否则可执行文件反汇编后的汇编代码量比目标文件多的多。
反汇编可以利用linux中的objdump命令,如
objdump -d *.o(目标文件)对目标文件进行反汇编
还没有评论,来说两句吧...