在 Linux 下进行反汇编(以及更广义的逆向分析),常用且口碑较好的工具有以下几类,按使用场景和易用程度来分:
一、命令行 / 经典逆向工具(最常用)
1. objdump(系统自带,入门首选)
- 优点:Linux 自带,无需安装
- 适合:快速看汇编、分析 ELF
objdump -d ./a.out
objdump -M intel -d ./a.out
2. GDB + 插件
- 优点:可动态调试 + 反汇编
- 推荐插件:
pwndbg(CTF / 安全向)
gef
peda
gdb ./a.out
disassemble main
二、专业逆向分析工具(强烈推荐)
3. Ghidra(NSA 开源)
- 优点:
- 免费、跨平台
- 反编译 + 反汇编
- 支持多种架构(x86 / ARM / MIPS)
- 适合:复杂二进制分析
./ghidraRun
4. IDA Pro(最强,但贵)
三、轻量级 / 现代工具
5. radare2 / rizin
r2 ./a.out
pdf @ main
6. objdump + readelf + nm
四、动态分析 / 行为分析
7. strace / ltrace
strace ./a.out
8. Valgrind
推荐组合(实战常用)
- 初学者:
objdump + gdb(pwndbg)
- 逆向工程师:
Ghidra + radare2
- 安全研究:
IDA + Ghidra
如果你能说一下:
- 是 静态分析还是动态调试
- 是 CTF / 恶意软件 / 普通程序
我可以给你更精准的建议。