在 CentOS(或其他 Linux 发行版)上查看反汇编指令,通常有以下几种常见方式,取决于你想反汇编什么(可执行文件、进程、内核模块等)。
objdump 查看可执行文件/目标文件反汇编yum install -y binutils
objdump -d 可执行文件
示例:
objdump -d ./a.out
objdump -d -M intel ./a.out # Intel 语法(默认是 AT&T)
objdump -S ./a.out # 源码 + 汇编混合
objdump -D ./a.out # 反汇编所有段
gdb 查看运行或调试中的反汇编yum install -y gdb
gdb ./a.out
(gdb) disassemble main
使用 Intel 语法:
(gdb) set disassembly-flavor intel
(gdb) disassemble main
查看某地址:
(gdb) disassemble 0x400526
gdb -p 进程PID
然后:
(gdb) disassemble
或查看某个函数:
(gdb) disassemble 函数名
nm / readelf 辅助分析nm ./a.out # 查看符号
readelf -h ./a.out # 查看 ELF 头
cat /proc/kallsyms | grep 函数名
配合 gdb vmlinux 使用(需调试内核)。
| 场景 | 命令 |
|---|---|
| 静态反汇编 | objdump -d file |
| 带源码 | objdump -S file |
| 调试中 | gdb file → disassemble |
| 运行中进程 | gdb -p pid |
| Intel 语法 | -M intel 或 set disassembly-flavor intel |
如果你能说明:
我可以给你更精确的命令示例。