在 CentOS 上进行反汇编(disassembly),常用工具主要取决于你的需求(二进制分析、程序调试、逆向工程等)。下面按常用程度和使用场景给你介绍:
objdump(推荐,必装)GNU binutils 自带,适合反汇编 ELF 文件。
objdump -d ./a.out
常用参数:
-d:反汇编可执行代码-D:反汇编所有段-M intel:使用 Intel 语法(默认 AT&T)-S:源码+汇编混合(需带 -g 编译)示例:
objdump -d -M intel ./test
安装:
sudo yum install binutils
gdb(调试 + 反汇编)适合运行时反汇编、单步执行。
gdb ./a.out
(gdb) disassemble main
Intel 语法:
(gdb) set disassembly-flavor intel
(gdb) disassemble
radare2(r2)强大的逆向分析框架。
安装:
sudo yum install radare2
使用:
r2 ./a.out
[0x000000]> aaa
[0x000000]> pdf @ main
IDA Pro(商业,最强)免费版:IDA Free(功能有限)
Ghidra(NSA 开源)java -jar ghidra.jar
ndisasm(简单裸汇编)适合分析 shellcode。
sudo yum install nasm
ndisasm -b 64 shellcode.bin
| 需求 | 推荐工具 |
|---|---|
| 快速看汇编 | objdump |
| 调试程序 | gdb |
| 逆向分析 | radare2 |
| 专业逆向 | IDA / Ghidra |
| shellcode | ndisasm |
如果你能说清楚:
我可以给你更精确的工具和命令示例。