在 Linux 下,objdump 是 GNU binutils 提供的工具,常用于反汇编可执行文件、目标文件或共享库。下面按常见使用场景说明。
objdump -d ./a.out
-d:反汇编所有包含指令的段(如 .text)objdump -d -M intel ./a.out
objdump -d -M intel ./a.out | grep -A 30 "<main>:"
或先查符号:
nm ./a.out | grep main
objdump -d -M intel test.o
objdump -d -M intel libxxx.so
-g)objdump -d -S -M intel ./a.out
-S:交织显示源代码和汇编objdump -t ./a.out
objdump -h ./a.out
objdump -d -M intel --section=.text ./a.out
nm ./a.out | grep main
objdump -d -M intel ./a.out | sed -n '/<main>:/,/^$/p'
# 编译
gcc -g -O0 -o test test.c
# 反汇编
objdump -d -S -M intel test
gdb(动态调试)radare2 / ghidra(逆向分析)如果你有具体程序类型(C/C++/Go/Strip 过)或想分析某段代码,可以发出来,我可以给你更针对性的命令。