温馨提示×

反汇编linux需要哪些工具

小樊
52
2026-09-15 15:02:21
栏目: 智能运维

反汇编(Disassembly)Linux 下的程序或内核,通常需要一系列工具,具体取决于你的目标:是用户态程序、内核、还是整个系统镜像。下面按场景给你梳理。


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

1. objdump(最常用)

GNU Binutils 自带,适合 ELF 文件。

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

✅ 适合:

  • 用户程序
  • 内核模块(.ko)
  • vmlinux

2. readelf

查看 ELF 结构(段、符号、重定位)。

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

3. nm / addr2line

  • nm:查看符号
  • addr2line:地址转源码行号
nm vmlinux | grep sys_open
addr2line -e vmlinux 0xffffffff8123abcd

二、交互式反汇编 & 逆向分析(强烈推荐)

4. GDB(动态反汇编)

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

配合:

  • peda
  • pwndbg
  • gef

5. IDA Pro(商业,最强)

  • 静态反汇编
  • 函数识别
  • 伪代码(F5)

Linux 版本可用(Wine 或原生)


6. Ghidra(NSA 开源)

  • 免费
  • 支持多种架构
  • 伪代码生成
ghidraRun

7. Radare2 / rizin(命令行神器)

r2 ./a.out
aa
pdf @ main

适合:

  • 脚本化
  • 自动化分析

三、Linux 内核反汇编专用

8. vmlinux + System.map

objdump -d vmlinux > vmlinux.asm

需要:

  • vmlinux(未压缩)
  • System.map(符号表)

9. /proc/kcore + crash

分析运行中的内核:

crash vmlinux /proc/kcore

10. ftrace / perf(辅助)

  • 定位函数调用
  • 再反汇编关键路径
perf record -g ./app
perf report

四、架构相关工具

架构 工具
x86 / x64 objdump, IDA, Ghidra
ARM arm-linux-gnueabi-objdump
RISC-V riscv64-linux-gnu-objdump
MIPS mips-linux-gnu-objdump

五、典型组合推荐

新手

objdump + GDB + pwndbg

安全研究

Ghidra / IDA + radare2

内核分析

vmlinux + objdump + crash + ftrace


如果你能告诉我:

  • 想反汇编 什么(程序 / 内核 / 驱动)
  • 架构(x86 / ARM)
  • 目的(学习 / 漏洞 / 逆向)

我可以直接给你一条最合适的学习或操作路线。

0 踩