在 CentOS 系统上获取“反汇编指令”(也就是把二进制程序反汇编成汇编代码),通常有以下几种常用方式,取决于你想反汇编什么对象:
objdump(最常用)objdump 属于 binutils,CentOS 一般自带。
sudo yum install binutils
objdump -d 程序名
示例:
objdump -d ./a.out
-d:反汇编可执行代码段-D:反汇编所有段-S:源码+汇编(需编译时加 -g)-M intel:使用 Intel 语法(默认 AT&T)objdump -d -M intel ./a.out
gdb(调试时反汇编)sudo yum install gdb
gdb ./a.out
disassemble
或指定函数:
disassemble main
Intel 语法:
set disassembly-flavor intel
disassemble main
objdump 反汇编内核或模块(高级)objdump -d vmlinux
objdump -d xxx.ko
readelf(查看节信息,辅助反汇编)readelf -S 程序名
radare2IDA(非 CentOS 原生,需图形环境)llvm-objdump安装 radare2 示例:
sudo yum install radare2
r2 ./a.out
✅ 程序反汇编:objdump -d 程序
✅ 调试反汇编:gdb → disassemble
如果你是:
可以告诉我,我可以给你更具体的命令示例。