温馨提示×

linux反汇编需要哪些工具

小樊
45
2026-10-26 22:44:13
栏目: 智能运维

在 Linux 下进行反汇编(Disassembly)和逆向分析,通常需要以下几类工具,按用途分类说明:


一、基础反汇编工具(必备)

1. objdump(GNU Binutils)

最基础、最常用的反汇编工具。

objdump -d ./a.out
objdump -d -M intel ./a.out   # Intel 语法

功能:

  • 反汇编 ELF 文件
  • 查看段信息、符号表
  • 分析静态代码

✅ 系统自带,几乎必装


2. gdb(GNU Debugger)

动态调试 + 反汇编。

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

功能:

  • 运行时反汇编
  • 单步执行
  • 查看寄存器、内存

✅ 配合 pwndbg / gef 更好用


二、增强型逆向分析工具(强烈推荐)

3. IDA Pro(商业,功能最强)

  • 最强大的反汇编 / 反编译工具
  • 支持 x86 / ARM / MIPS 等
  • 有 Linux 版本(GUI)

缺点:贵(有免费版 IDA Free)


4. Ghidra(NSA 开源)

  • 免费、功能接近 IDA
  • 支持反编译为 C 代码
  • 跨平台(Java)
./ghidraRun

✅ 逆向分析首选免费方案


5. radare2(r2)

命令行逆向神器。

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

功能:

  • 反汇编
  • 调试
  • 漏洞分析
  • 脚本化

✅ 轻量、强大,适合 CLI 党


三、辅助分析工具(常用)

6. nm

查看符号表

nm ./a.out

7. readelf

分析 ELF 结构

readelf -h ./a.out
readelf -S ./a.out

8. file

快速判断文件类型

file ./a.out

9. strace / ltrace

系统调用 / 库函数跟踪

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

四、动态调试增强插件

  • pwndbg(GDB 插件,CTF 常用)
  • gef
  • peda
git clone https://github.com/pwndbg/pwndbg
./setup.sh

五、典型组合推荐

学习 / CTF:

objdump + gdb(pwndbg) + radare2 + Ghidra

专业逆向:

IDA Pro 或 Ghidra


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

  • 你是 学习 / CTF / 安全研究 / 漏洞分析?
  • 目标是 x86 / x64 / ARM?
  • 静态分析还是动态调试?

我可以给你一套具体工具和命令方案。

0 踩