在 CentOS(本质是 Linux 的一种发行版)上,“能反汇编哪些指令”主要取决于你使用的反汇编工具和CPU 架构,而不是 CentOS 本身限制能反汇编什么。
下面分层次说明。
CentOS 只是操作系统,真正做反汇编的是工具,例如:
objdump(binutils)gdbreadelfllvm-objdumpndisasm(NASM)radare2 / rizinIDA(商业)如果你的 CentOS 跑在 Intel / AMD CPU 上:
✅ x86 16 位
mov ax, bx)✅ x86 32 位(i386)
✅ x86_64(AMD64)
❌ 一般不能“执行级”反汇编:
如果 CentOS 跑在 ARM 服务器(如 aarch64):
可反汇编:
| 工具 | 支持架构 | 说明 |
|---|---|---|
| objdump | x86 / x86_64 / ARM / MIPS 等 | GNU 工具链 |
| gdb | 同 objdump | 调试时反汇编 |
| llvm-objdump | 更广 | LLVM 后端支持 |
| ndisasm | x86 / x86_64 | 简单裸二进制 |
| radare2 | 非常多 | 逆向神器 |
| IDA | 几乎全架构 | 最强但收费 |
objdump -d ./a.out
gdb ./a.out
(gdb) disassemble main
CentOS 能反汇编“其 CPU 架构支持、且反汇编工具认识的指令集”,常见是 x86 / x86_64 全指令集,不限制你能反汇编哪些合法机器码。
如果你愿意,可以告诉我:
我可以给你更具体的例子。