记牢 Linux 下反汇编相关指令,关键是分场景 + 建立记忆锚点,不要死记参数。下面给你一套“好记体系”。
Linux 反汇编常用工具就三类:
| 目的 | 工具 | 一句话记忆 |
|---|---|---|
| 看可执行文件结构 | file / readelf |
“先看是什么” |
| 反汇编 | objdump |
“dump 出来看” |
| 动态调试 | gdb |
“跑起来看” |
✅ 锚点:file → readelf → objdump → gdb
file ./a.out
记忆:file = 这是什么文件
readelf -h ./a.out # 文件头
readelf -S ./a.out # 节区
readelf -s ./a.out # 符号表
记忆口诀:
h 头 S 节 s 符号
objdump -d ./a.out
记忆:
d = disassemble
常用组合:
objdump -d -M intel ./a.out
记忆:
-M intel = 用 Intel 语法(人类友好)
✅ 默认是 AT&T(反人类),一律加 -M intel
objdump -d -M intel ./a.out | grep '<main>:' -A 30
gdb ./a.out
break main # 下断点
run # 跑
disassemble # 反汇编当前函数
disassemble main # 反汇编指定函数
nexti # 单步(指令级)
info registers # 看寄存器
x/10i $pc # 看接下来 10 条指令
✅ 记忆锚点:
b 断点 / r 跑 / ni 走 / disas 看
file 看文件
readelf 看结构
objdump -d 反汇编
-M intel 必加
gdb 动态调
disas 看指令
✅ 不要背命令,要“做三遍”:
hello.cgcc -o hello hello.c肌肉记忆 > 脑子记忆
如果你愿意,我可以:
你主要是用在哪方面?