记 Linux 反汇编命令,核心就一句话:“用什么工具,看什么格式,想看什么层次”。下面用「场景 + 记忆口诀 + 速查表」帮你一次记牢。
“dump 看文件,d 反汇编,l 带源码,x 看全”
objdump -d a.out # 反汇编可执行代码
objdump -dl a.out # 反汇编 + 源码对照
objdump -D a.out # 反汇编所有段(包括数据)
objdump -S a.out # 源码 + 汇编混合(调试神器)
| 参数 | 含义 |
|---|---|
-d |
反汇编 .text |
-D |
全部反汇编 |
-S |
源码+汇编 |
-l |
行号 |
-M intel |
Intel 语法 |
objdump -d -M intel a.out
“进了 gdb,disas 就完事”
gdb ./a.out
(gdb) disas main
(gdb) disas /m main # 带源码
(gdb) layout asm # 汇编窗口
ndisasm -b 32 file.bin
rasm2 -d 909090
反汇编
├── 静态 → objdump -dS
├── 动态 → gdb disas
└── 裸码 → ndisasm
“静态 objdump -dS,动态 gdb disas,Intel 加 -M intel”
如果你愿意,我也可以:
你想从哪一步开始?