本文主要是介绍初次接触反汇编,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- objdump
- example:
objdump
# 第一次用这个,不知道怎么安装,后来才发现安装了GCC就有了这个小工具了$ man objdump #查找帮助手册,以下是常用的
-d: 进行反汇编
-S: 进行反汇编时,将反汇编代码和源代码交替显示。 注意:编译时需要给出-g,即需要调试信息
-C: 将低级符号名称解码为用户级名称。除了删除系统预先加上的任何初始下划线之外,这还使得c++函数名具有可读性。不同的编译器有不同的混淆样式。可选的demangling样式参数可用于为编译器选择适当的demangling样式。
-l: 反汇编代码中插入源代码的文件名和行号。
example:
g++ -g main.cpp -O0 # -O0 前面是一个大写字母O,后面是数字零,表示编译不优化#-O0这个参数可选,还有-O1, -O2, -O3等不同优化等级
g++ main3.cc -O0 -o test # -o 是小写字母o ,表示output一个test.out文件(可选)
objdump -S -C test.out > hello.txt #‘>’反汇编代码重定向到hello的文件中(可选)
这篇关于初次接触反汇编的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!