温馨提示×

什么工具做linux反汇编

小樊
41
2026-09-27 14:54:17
栏目: 智能运维

在 Linux 下进行反汇编(disassembly)和逆向分析,常用工具分为 命令行工具、GUI 工具、调试器、专用逆向平台 几类。下面按使用场景给你一个清晰清单。


一、经典命令行反汇编工具(最常用)

1. objdump(系统自带)

适合快速看汇编代码。

objdump -d ./a.out          # 反汇编所有可执行段
objdump -d -M intel ./a.out # Intel 语法

✅ 优点:系统自带、简单
❌ 缺点:无控制流分析、不适合复杂逆向


2. gdb(调试 + 反汇编)

gdb ./a.out
(gdb) disassemble main
(gdb) layout asm

✅ 适合动态调试 + 反汇编
❌ 静态分析能力弱


3. radare2 / r2

非常强的开源逆向框架。

r2 ./a.out
[0x000000]> aaa
[0x000000]> pdf @ main

✅ 免费、功能强、脚本化
❌ 学习曲线陡


4. nm / readelf(辅助)

nm ./a.out
readelf -S ./a.out

用于看符号表、段信息,不直接反汇编但很有用。


二、GUI 反汇编 / 逆向工具(强烈推荐)

5. Ghidra(NSA 开源)

  • 跨平台(Linux 支持很好)
  • 反汇编 + 伪代码(C 类似)
  • 免费
./ghidraRun

✅ 免费、强大、适合 serious RE
✅ 对 ELF 支持很好


6. IDA Pro(商业)

  • Linux 版可用
  • 行业标杆
  • 有 Freeware 版(功能受限)

✅ 最强反汇编 + 伪代码
❌ 贵


7. Binary Ninja(商业)

  • Linux 原生支持
  • 现代化 UI
  • 反编译质量高

✅ 比 IDA 轻量
❌ 收费


三、动态分析与调试

8. strace / ltrace

strace ./a.out
ltrace ./a.out

看系统调用 / 库调用,不是反汇编但很有用。


9. valgrind

valgrrind --tool=callgrind ./a.out

用于执行流分析。


四、脚本化 / 高级分析

10. capstone / pyelftools

  • Capstone:反汇编引擎(Python/C)
  • pyelftools:解析 ELF

适合写自己的分析工具。


五、推荐组合(实用建议)

场景 推荐
快速看汇编 objdump / gdb
学习逆向 Ghidra
专业逆向 IDA Pro / Binary Ninja
命令行高手 radare2
动态调试 gdb + strace

如果你愿意,可以告诉我:

  • 是 学习用 还是 实战/CTF/安全研究
  • 是 ELF / 内核 / 驱动 / 脚本

我可以直接给你一套 最小可用工具链 + 示例命令。

0 踩