温馨提示×

Linux反汇编用什么

小樊
46
2026-07-09 19:14:51
栏目: 智能运维

在 Linux 下进行反汇编(disassembly)和逆向分析,常用工具如下,按使用场景分类:


一、最常用反汇编工具

1. objdump(最基础、必会)

GNU binutils 自带,适合查看 ELF 文件汇编代码。

objdump -d ./a.out

常用选项:

objdump -M intel -d ./a.out   # Intel 语法
objdump -s -j .text ./a.out   # 查看段内容

✅ 适合:快速查看函数汇编
❌ 不适合:复杂逆向、交互分析


2. GDB(调试 + 反汇编)

调试器,可动态反汇编。

gdb ./a.out

常用命令:

disas main
disas 0x401000
info registers
x/10i $rip

✅ 适合:调试 + 看汇编
✅ 支持 AT&T / Intel 语法


3. Radare2 / Cutter(专业逆向)

功能强大的逆向工程框架。

r2 ./a.out

常用命令:

aaa        # 自动分析
pdf @ main # 反汇编 main

图形界面版本:

cutter

✅ 适合:中高级逆向
✅ 免费、开源


4. Ghidra(NSA 开源,强烈推荐)

支持反汇编 + 伪代码(类似 IDA)。

./ghidraRun

✅ 适合:大型程序、ELF、二进制分析
✅ 免费、跨平台
✅ 支持多种架构(x86 / ARM / MIPS)


5. IDA Pro(工业级,收费)

逆向分析“神器”。

  • 最强反汇编 + 伪代码
  • Linux / Windows / macOS
  • 免费版:IDA Free(功能受限)

✅ 适合:专业逆向、CTF、安全研究


二、按使用场景推荐

场景 推荐工具
快速看汇编 objdump
调试 + 汇编 GDB
静态逆向 Ghidra
动态逆向 Radare2 / GDB
商业/专业 IDA Pro

三、常见架构支持

工具 x86/x64 ARM MIPS
objdump
GDB
Ghidra
Radare2

四、示例:用 objdump 反汇编

objdump -M intel -d ./test | less

输出示例:

main:
    push   rbp
    mov    rbp, rsp
    mov    eax, 0
    pop    rbp
    ret

五、推荐学习路线

  1. objdump + GDB
  2. x86 / ARM 汇编
  3. Ghidra / Radare2
  4. 再学 IDA Pro

如果你愿意,我可以:

  • 教你 从 0 开始反汇编一个 Linux 程序
  • 对比 AT&T vs Intel 语法
  • 针对 CTF / 逆向 / 漏洞分析 给你工具链建议

0