在 CentOS 上“反汇编函数”通常有以下几种常见场景,按是否已有可执行文件 / 是否带符号 / 是否源码级来分:
objdump 反汇编(最常用)objdump -d ./your_program | grep -A 50 '<function_name>:'
或更直接:
objdump -d ./your_program | awk '/<function_name>:/{flag=1} flag{print} /ret/{if(flag) exit}'
objdump -d -M intel ./your_program
-M intel:使用 Intel 语法(默认是 AT&T)objdump -d --start-address=0x400520 --stop-address=0x4005a0 ./your_program
gdb 反汇编运行中的函数(推荐)gdb ./your_program
disassemble function_name
或指定框架:
disassemble /m function_name
/m:混合源码(如果有 -g)set disassembly-flavor intel
disassemble function_name
disassemble
nm + objdump 定位函数地址nm ./your_program | grep function_name
得到地址后:
objdump -d --start-address=0x地址 ./your_program
.textobjdump -d ./your_program
disassemble 0x400520, 0x4005a0
-g)gcc -g -O2 test.c -o test
gdb ./test
(gdb) disassemble /m main
readelf -S:查看段radare2 / objdump / IDA(高级)perf + objdump:性能分析反汇编✅ CentOS 默认已自带:
binutils(objdump)gdb安装(如缺失):
yum install binutils gdb
如果你愿意,可以告诉我:
我可以给你更精确的命令示例。