温馨提示×

Linux反汇编用什么指令

小樊
37
2026-08-20 05:53:28
栏目: 智能运维

在 Linux 下进行反汇编(disassembly),常用的是 objdumpgdbradare2IDA 等工具。下面按最常用 → 进阶给你一个清晰总结。


一、最常用:objdump(系统自带 ✅)

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

objdump -d a.out

2️⃣ 反汇编指定段(如 .text

objdump -d -j .text a.out

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

objdump -S a.out

4️⃣ Intel 语法(默认是 AT&T)

objdump -M intel -d a.out

5️⃣ 反汇编指定函数

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

二、动态调试反汇编:gdb

1️⃣ 启动 gdb

gdb ./a.out

2️⃣ 反汇编当前函数

disassemble

3️⃣ 反汇编指定函数

disassemble main

4️⃣ Intel 语法

set disassembly-flavor intel
disassemble main

5️⃣ 反汇编指定地址范围

disassemble 0x4005f0,0x400620

适合调试 + 看运行时汇编


三、进阶工具(逆向分析常用)

1️⃣ radare2(r2)

r2 ./a.out

常用命令:

aaa        # 分析
pd 20      # 反汇编20条
pdf        # 反汇编当前函数

功能极强,CTF/逆向必备


2️⃣ ndisasm(适合裸二进制)

ndisasm -b 32 file.bin

3️⃣ IDA / Ghidra(图形化)

  • IDA Pro(商业)
  • Ghidra(NSA 开源,免费)

适合大型程序、逆向工程


四、常见语法对比

工具 默认语法 切换 Intel
objdump AT&T -M intel
gdb AT&T set disassembly-flavor intel
radare2 Intel 默认

五、快速选择建议

只想看汇编

objdump -M intel -d a.out

调试程序

gdb ./a.out
disassemble main

逆向分析

r2 ./a.out

如果你愿意,我可以:

  • ✅ 教你 从 C 到汇编一步步对照
  • ✅ 帮你 解读某一段反汇编代码
  • ✅ 给你 Linux 逆向入门路线

你现在是 学习汇编 / 调试 / 逆向 / CTF 哪一类?

0