在 CentOS 上做反汇编,选择什么指令(工具)取决于你是 分析 ELF 可执行文件、shellcode、内核代码,还是调试运行时程序。下面给你一个实战导向的选择指南,从“最常用 → 进阶 → 特殊场景”。
objdump(首选)sudo yum install -y binutils
objdump -d hello
objdump -d -M intel hello # Intel 语法(比 AT&T 友好)
objdump -d -M intel --no-show-raw-insn hello
objdump -S hello # 源码 + 汇编(有调试信息)
objdump -d -M intel ./a.out | less
gdb(动态反汇编)sudo yum install -y gdb
gdb ./a.out
(gdb) disassemble main
(gdb) disassemble 0x4005f6
set disassembly-flavor intel
layout asm
layout reg
✅ 逆向 / 漏洞分析必会
ndisasmsudo yum install -y nasm
ndisasm -b 64 shellcode.bin
| 参数 | 说明 |
|---|---|
-b 32 |
32 位 |
-b 64 |
64 位 |
radare2(r2)sudo yum install -y radare2
r2 ./a.out
[0x00000000]> aaa
[0x00000000]> pdf @ main
objdump + addr2lineobjdump -d vmlinux
addr2line -e vmlinux 0xffffffff81000000
| 场景 | 推荐指令 |
|---|---|
| 分析 ELF 程序 | objdump -d -M intel |
| 调试 + 反汇编 | gdb |
| shellcode / 裸二进制 | ndisasm |
| 专业逆向 | radare2 |
| 内核分析 | objdump + addr2line |
objdump -d -M intel # ✅ 推荐
objdump -d # AT&T(默认)
逆向 / 安全 / 学习强烈建议 Intel 语法
gcc -g -no-pie -fno-stack-protector test.c -o test
objdump -d -M intel test
gdb ./test
如果你愿意,可以告诉我:
我可以直接给你一套 针对你场景的完整反汇编流程。