温馨提示×

如何快速反汇编Linux

小樊
50
2026-08-05 04:10:41
栏目: 智能运维

在 Linux 下“快速反汇编”通常指把可执行文件或目标文件转换成汇编代码,用于逆向、调试或性能分析。下面按使用场景给你最常用、最快的方法。


一、最常用:用 objdump(最通用)

1️⃣ 反汇编整个可执行文件

objdump -d ./a.out

2️⃣ 反汇编指定函数(推荐)

objdump -d ./a.out | grep -A 20 "<main>:"

3️⃣ 显示源码 + 汇编(如果有调试信息)

objdump -S ./a.out

4️⃣ Intel 语法(比 AT&T 更易读)

objdump -M intel -d ./a.out

适合:ELF 可执行文件、.o、.so


二、最快:用 gdb(动态反汇编)

1️⃣ 启动 gdb

gdb ./a.out

2️⃣ 反汇编当前函数

disassemble

3️⃣ 反汇编指定函数

disassemble main

4️⃣ Intel 语法

set disassembly-flavor intel
disassemble main

适合:调试 + 反汇编结合


三、最专业:用 radare2(逆向必备)

1️⃣ 打开程序

r2 ./a.out

2️⃣ 分析

aaa

3️⃣ 反汇编 main

pdf @ main

4️⃣ 可视化反汇编

V

适合:逆向工程、漏洞分析


四、最轻量:用 ndisasm(裸二进制)

⚠️ 仅适合 纯二进制文件(无 ELF 头)

ndisasm -b 64 binary.bin

五、查看符号表(辅助反汇编)

nm ./a.out

readelf -s ./a.out

六、推荐组合(实战)

目的 推荐
快速看汇编 objdump -M intel -d
调试时看汇编 gdb + disassemble
逆向分析 radare2
无符号裸 bin ndisasm

七、示例:一行命令快速反汇编 main

objdump -M intel -d ./a.out | sed -n '/<main>:/,/^$/p'

如果你愿意,我可以:

  • ✅ 帮你反汇编你自己的程序
  • ✅ 对比 AT&T vs Intel 语法
  • ✅ 教你 从汇编还原 C 逻辑
  • ✅ 结合 漏洞 / CTF / 内核 / 驱动

你可以直接贴代码或 ELF 文件信息。

0