简单的GDB调试

0x01 插件安装

1.gdb-peda

这是一个调试时必不可少的神器,github地址在:https://github.com/longld/peda ,它的安装两条简单命令即可完成:

1.git clone https://github.com/longld/peda.git ~/peda

2.echo “source ~/peda/peda.py” >> ~/.gdbinit

peda的一个实用命令checksec检测安全保护。

peda的另一个实用命令searchmem用搜索内存

0x02 常用命令

file 路径  附加文件

r     开始执行

c 继续执行

step 单步步入

next 单步步过

b *地址  下断点

enable 激活断点

disable 禁用断点

info b 查看断点

del num 删除断点

x/wx $esp   以4字节16进制显示栈中内容

stack 100   插件提供的,显示栈中100项

find xxx   快速查找,很实用

s 按字符串输出

x 按十六进制格式显示变量。
d 按十进制格式显示变量。
u 按十六进制格式显示无符号整型。
o 按八进制格式显示变量。
t 按二进制格式显示变量。
a 按十六进制格式显示变量。
c 按字符格式显示变量。
f 按浮点数格式显示变量。

x/<n/f/u>

n、f、u是可选的参数。

b表示单字节,h表示双字节,w表示四字 节,g表示八字节

但是实际的组合就那么几种:

x/s 地址  查看字符串

x/wx 地址  查看DWORD

x/c 地址  单字节查看

x/16x $esp+12 查看寄存器偏移

set args 可指定运行时参数。(如:set args 10 20 30 40 50)
show args 命令可以查看设置好的运行参数。