在 CentOS 上进行反汇编(disassembly)通常依赖 binutils、gdb、objdump、radare2、IDA、Ghidra 等工具。下面按常用场景给你一个完整说明。
objdump(最常用)来自 binutils,CentOS 默认一般已安装。
objdump -d test
objdump -d test # 反汇编可执行段
objdump -D test # 反汇编所有段
objdump -M intel test # Intel 语法(默认 AT&T)
objdump -S test # 源码+汇编(需 -g 编译)
✅ 推荐:
objdump -d -M intel ./a.out
gdb(调试 + 反汇编)适合动态分析。
gdb ./test
disassemble main
disassemble 0x4005f6
disassemble /r main # 显示机器码
set disassembly-flavor intel
永久生效:
echo "set disassembly-flavor intel" >> ~/.gdbinit
ndisasm(x86 专用)来自 nasm。
yum install nasm
ndisasm -b 32 test.bin
ndisasm -b 64 test.bin
适合裸二进制文件。
radare2(专业逆向工具)功能强大,支持多种架构。
yum install radare2
r2 ./test
常用命令:
aaa # 自动分析
pd 20 # 反汇编 20 条
pdf # 反汇编函数
which objdump gdb ndisasm r2
yum install -y binutils gdb nasm radare2
如果是 CentOS 8 / Stream:
dnf install -y binutils gdb nasm radare2
gcc -g -o test test.c
strip test
反汇编仍然可用:
objdump -d test
int main() {
return 1;
}
gcc -g -o test test.c
objdump -d -M intel test
objdump -d -M intel test
objdump -d -M arm test
yum install binutils
objdump -M intel
objdump -d test | grep -A 20 "<main>:"
✅ 静态分析
objdump + readelf + strings✅ 动态分析
gdb + peda / pwndbg✅ 逆向工程
radare2 / Ghidra / IDA如果你愿意,可以告诉我:
我可以给你更精确的配置方案。