在 CentOS 上进行“反汇编 + 调试”通常结合 GDB + objdump/readelf 等工具。下面按常见场景给你一个实用指南。
sudo yum install -y gdb binutils gcc make
如果是 CentOS 8+:
sudo dnf install -y gdb binutils gcc make
gcc -g -O0 -o test test.c
说明:
-g:包含调试符号-O0:不优化,便于反汇编对照源码gdb ./test
disassemble main
或查看某函数:
disassemble func_name
layout split
或:
layout asm
break main
run
stepi # 汇编级单步
nexti # 汇编级 next
info registers
x/10x $rsp
x/5i $rip
objdump -d test
objdump -S test
readelf -s test
readelf -l test
如果程序被 strip:
file test
# test: stripped
objdump -ddisassemble 0x4005b0
info file
set disassembly-flavor intel
disassemble
bt
strace ./test
gcc -g -O0 test.c -o test
gdb ./test
(gdb) break main
(gdb) run
(gdb) layout split
(gdb) stepi
(gdb) info registers
如果你有具体场景(比如:
可以直接说,我可以给你更针对性的步骤或命令。