在 CentOS(以及绝大多数 Linux 发行版)里,“反汇编指令”通常指用来把二进制文件反汇编成汇编代码的工具和命令,本质上可以分成几类/几种使用方式,而不是某一条固定指令。
下面按常见程度给你系统梳理一下:
属于 binutils,CentOS 自带
objdump -d 文件名
常见用法:
objdump -d test
objdump -d -M intel test # Intel 语法
objdump -d -M att test # AT&T 语法(默认)
objdump -d -S test # 反汇编+源码
✅ 适合:ELF 可执行文件、.o 文件、库文件
✅ CentOS 默认就有
gdb 自带反汇编功能
gdb ./test
(gdb) disassemble
(gdb) disassemble main
(gdb) disassemble 0x400500
高级:
(gdb) set disassembly-flavor intel
(gdb) disassemble /m main # 混合源码
✅ 适合:调试、看运行时汇编
来自 nasm 包
ndisasm -b 32 file.bin
ndisasm -b 64 file.bin
安装:
yum install nasm
✅ 适合:boot、shellcode、裸二进制
r2 ./test
[0x000000]> pdf
或一键:
r2 -d ./test
✅ 适合:逆向工程、CTF
安装:
yum install radare2
✅ 适合:复杂逆向
readelf -x + 手动分析objconvcapstone 库CentOS 常见反汇编方式主要有 4 种:
objdump(最常用)gdb disassemble(调试用)ndisasm(纯二进制)radare2(专业逆向)如果你愿意,我可以:
你更想看哪一种?