在 CentOS(以及大多数 Linux 发行版)里,“反汇编”通常不是某一条专属命令,而是用不同的工具把二进制文件翻译成汇编代码。常见工具包括 objdump、gdb、ndisasm、radare2 等。
下面重点说 CentOS 下最常见的反汇编指令/工具区别,尤其是 objdump 的各种参数区别。
objdump -d test
-d:disassemble,只反汇编可执行代码段objdump -D test
-D:Disassemble all sections.data、.rodata 也当代码拆✅ 区别:
| 参数 | 范围 |
|---|---|
-d |
仅代码段 |
-D |
所有段 |
objdump -S test
-S:Source + Assembly-gobjdump -m i386 -b binary -D file.bin
-m:architecture(i386 / x86-64 / arm)-b binary:把文件当纯二进制常用于:
objdump -M intel -d test
disassemble
disassemble main
disassemble 0x400000, 0x400100
✅ 特点:
ndisasm -b 32 file.bin
nasmr2 -d ./test
pdf
| 工具 | 特点 | 使用场景 |
|---|---|---|
objdump -d |
静态、ELF | 分析程序 |
objdump -D |
全段 | shellcode |
objdump -S |
源码对照 | 学习 |
gdb disas |
动态 | 调试 |
ndisasm |
二进制 | 裸代码 |
radare2 |
逆向 | 安全 |
如果你愿意,可以告诉我:
我可以给你更针对性的命令示例。