在 CentOS 下进行“反汇编 / 逆向分析”,没有绝对“最好”的单一指令,通常要看场景(看二进制、看函数、动态调试、内核等)。下面按最常用、最推荐给你一个清晰清单。
objdump(首选,系统自带)最通用、最稳定
objdump -d ./a.out
常用参数:
objdump -d -M intel ./a.out # Intel 语法(推荐)
objdump -d -M att ./a.out # AT&T 语法
objdump -d -S ./a.out # 反汇编 + 源码对照
objdump -d -M intel --no-show-raw-insn ./a.out
✅ 适合:ELF、可执行文件、.o 文件
✅ CentOS 默认已安装
gdb(反汇编 + 调试)分析和调试一起用最好
gdb ./a.out
(gdb) disassemble main
(gdb) disassemble /m main # 源码+汇编
(gdb) set disassembly-flavor intel
✅ 适合:函数级反汇编、断点调试
✅ 必须装:
yum install -y gdb
objdump + binutils(基础但强)yum install -y binutils
radare2(r2)——强烈推荐逆向分析神器
yum install -y radare2
用法:
r2 ./a.out
[0x000000]> aaa
[0x000000]> pdf @ main
✅ 适合:逆向、CTF、函数分析
✅ 比 objdump 智能很多
Ghidra(最强大,但重)NSA 开源逆向工具(Java)
yum install -y java-11-openjdk
然后运行 ghidraRun
✅ 适合:大型程序、伪代码分析
❌ 资源占用大
perf(看运行时汇编)perf record ./a.out
perf annotate
✅ 适合:性能分析 + 汇编级热点
| 需求 | 最佳选择 |
|---|---|
| 快速看汇编 | objdump -d -M intel |
| 调试 + 汇编 | gdb |
| 逆向分析 | radare2 |
| 伪代码 | Ghidra |
| 内核/性能 | perf |
如果你愿意,可以告诉我:
我可以直接给你最合适的命令组合。