在CentOS中调试反汇编指令,常用工具为GDB和objdump,步骤如下:
sudo yum install gdb
gcc -g -o program program.c
gdb program
(gdb) disassemble main # 反汇编main函数
(gdb) disassemble 0x401000,0x401100 # 反汇编指定地址范围
(gdb) break main # 在main函数设断点
(gdb) run # 运行程序
(gdb) step # 单步进入函数
(gdb) next # 单步跳过函数
(gdb) info registers # 查看寄存器值
(gdb) x/10xw $sp # 查看栈内存(10个字)
sudo yum install binutils
objdump -d program > disasm.asm # 反汇编整个程序
objdump -d -j .text program # 仅反汇编代码段
objdump -d -j .text program | grep -A 20 'main:' # 查看main函数附近代码
sudo yum install radare2
r2 program
> pdf @main # 查看main函数反汇编
> s main # 跳转到main函数
-g选项),否则无法正确反汇编。以上步骤可帮助你在CentOS中通过反汇编指令调试程序,GDB适合动态调试,objdump适合静态分析。