在 Linux 下进行反汇编(disassembly),常用且“好用”的指令/工具取决于你的使用场景(静态分析、动态调试、内核、二进制格式等)。下面按常用程度 + 场景给你一个实用清单。
objdump -d ./a.out
objdump -S ./a.out
objdump -t ./a.out
objdump -h ./a.out
✅ 优点:
❌ 缺点:
disassemble
disassemble 0x4005f0
disassemble main
set disassembly-flavor intel
disassemble main
✅ 优点:
sudo apt install radare2
r2 ./a.out
aaa # 自动分析
pdf # 反汇编当前函数
pdf @ main # 反汇编 main 函数
pd 20 # 反汇编 20 条指令
✅ 优点:
❌ 缺点:
./ghidraRun
✅ 优点:
❌ 缺点:
sudo apt install nasm
ndisasm -b 32 file.bin
ndisasm -b 64 file.bin
✅ 适合:
nm ./a.out
readelf -a ./a.out
| 场景 | 推荐 |
|---|---|
| 快速查看 | objdump -d |
| 调试分析 | gdb + disassemble |
| 逆向工程 | radare2 |
| 伪代码 | Ghidra |
| Shellcode | ndisasm |
objdump -M intel -d ./a.out
objdump -d ./a.out | grep -A 20 "<main>:"
如果你愿意,我可以:
你主要用反汇编做什么?