可以,CentOS 上完全可以反汇编指令,只是它不是“系统自带一个叫反汇编的命令”,而是需要借助工具。下面按常见场景给你说明。
objdump 反汇编CentOS 一般自带 binutils,里面就有 objdump,这是最标准的反汇编工具。
objdump -d ./a.out
objdump -d ./a.out | grep -A 20 main
objdump -d -M intel ./a.out
如果你只有一条指令的机器码,比如:
55 48 89 e5
objdumpecho "55 48 89 e5" | xxd -r -p > code.bin
objdump -D -b binary -m i386:x86-64 -M intel code.bin
import capstone
md = capstone.Cs(capstone.CS_ARCH_X86, capstone.CS_MODE_64)
for i in md.disasm(b"\x55\x48\x89\xe5", 0):
print(i.mnemonic, i.op_str)
CentOS 上一般可安装 gdb:
yum install -y gdb
gdb ./a.out
(gdb) disassemble main
也可在运行中反汇编当前指令:
(gdb) x/10i $pc
yum install -y capstone
yum install -y radare2
r2 ./a.out
[0x000000]> pd 10
objdump / gdb 默认可用dnf install binutils gdb✅ CentOS 可以反汇编指令
✅ 常用工具:objdump、gdb、radare2、capstone
✅ 不仅能反汇编文件,也能反汇编“单条机器码”
如果你有具体场景(比如:内核指令、shellcode、某条 opcode、ARM 架构),我可以给你更精确的命令。