在 Linux 下进行反汇编(Disassembly)和逆向分析,通常需要以下几类工具,按用途分类说明:
objdump(GNU Binutils)最基础、最常用的反汇编工具。
objdump -d ./a.out
objdump -d -M intel ./a.out # Intel 语法
功能:
✅ 系统自带,几乎必装
gdb(GNU Debugger)动态调试 + 反汇编。
gdb ./a.out
(gdb) disassemble main
(gdb) layout asm
功能:
✅ 配合 pwndbg / gef 更好用
IDA Pro(商业,功能最强)缺点:贵(有免费版 IDA Free)
Ghidra(NSA 开源)./ghidraRun
✅ 逆向分析首选免费方案
radare2(r2)命令行逆向神器。
r2 ./a.out
[0x000000]> aaa
[0x000000]> pdf
功能:
✅ 轻量、强大,适合 CLI 党
nm查看符号表
nm ./a.out
readelf分析 ELF 结构
readelf -h ./a.out
readelf -S ./a.out
file快速判断文件类型
file ./a.out
strace / ltrace系统调用 / 库函数跟踪
strace ./a.out
ltrace ./a.out
pwndbg(GDB 插件,CTF 常用)gefpedagit clone https://github.com/pwndbg/pwndbg
./setup.sh
objdump+gdb(pwndbg)+radare2+Ghidra
IDA Pro或Ghidra
如果你愿意,可以告诉我:
我可以给你一套具体工具和命令方案。