在 CentOS 上做反汇编(disassembly),常用工具是 objdump / gdb / radare2 / ndisasm 等。下面按使用场景给你最实用的命令示例。
objdump(最常用 ✅)objdump -d test
objdump -d test | grep -A 20 main
objdump -S test
objdump -M intel -d test
objdump -m i386 -d test
objdump -d -j .text test
gdb(动态调试时常用)gdb ./test
disassemble
disassemble main
set disassembly-flavor intel
disassemble main
disassemble 0x4005f0,0x400620
ndisasm(反汇编纯二进制)适合 shellcode / 裸二进制文件。
yum install nasm
ndisasm -b 32 test.bin
ndisasm -b 64 test.bin
radare2(高级逆向工具)yum install radare2
r2 ./test
进入后:
aaa # 自动分析
pdf @ main # 反汇编 main 函数
objdump -M intel -d test
objdump -S test
gdb ./test
(gdb) set disassembly-flavor intel
(gdb) disassemble main
-ggcc -g -o test test.c
file test
objdump -d test
函数名可能丢失,但汇编仍在。
如果你愿意,可以告诉我:
我可以给你更精确的命令。