在 CentOS 下做反汇编(disassembly),常用的指令/工具主要取决于你的需求(是分析二进制、看汇编、调试,还是逆向工程)。下面给你一个实用对比和建议:
objdump(首选,系统自带)适合:查看二进制文件的汇编代码
objdump -d ./a.out
常用参数:
objdump -d -M intel ./binary # Intel 语法
objdump -d -M att ./binary # AT&T 语法(默认)
objdump -S ./binary # 源码+汇编(需带 -g 编译)
objdump -x ./binary # 查看文件头、段信息
✅ 优点:
gdb(调试 + 反汇编)适合:运行时看汇编、断点调试
gdb ./a.out
(gdb) disassemble main
(gdb) disassemble /m main # 源码+汇编
(gdb) layout asm
优点:
-g 非常强radare2(r2)适合:真正逆向分析
yum install radare2
r2 ./binary
[0x000000]> aaa
[0x000000]> pdf @ main
优点:
Ghidra(GUI,NSA 出品)适合:复杂逆向
IDA Pro(最强,但收费)| 场景 | 推荐 |
|---|---|
| 快速看汇编 | objdump -d |
| 调试程序 | gdb |
| 深入学习逆向 | radare2 |
| 专业逆向 | Ghidra / IDA |
-g:gcc -g -o test test.c
objdump -d -M intel ./a.out
如果你愿意,可以告诉我:
我可以给你更精确的工具和命令组合。