在 CentOS(本质上是 Linux) 上,常用的是 objdump、gdb、readelf 等工具来做反汇编。下面按常见场景说明指令格式。
objdump -d test
objdump -d -j .text test
objdump -S test
或
objdump -d -S test
objdump -t test
objdump -d -M intel test
gdb ./test
disassemble
disassemble main
disassemble 0x400500, 0x400600
set disassembly-flavor intel
disassemble main
objdump -d test.o
readelf -h test # ELF 头
readelf -S test # 段表
readelf -s test # 符号表
AT&T(默认):
movl %eax, %ebx
Intel:
mov ebx, eax
gcc -g -O0 -o test test.c
-g:保留调试信息-O0:不优化,汇编更直观如果你有 具体文件类型(ELF / .o / 内核模块) 或 想反汇编某段/某函数,我可以给你更精确的命令。