gdb-peda调试命令总结
break 十六进制地址(b main)# 在改地址出下断点(在 main函数处下断点)
tb 行号 # 在改行下断点,一次性使用
info b #查看断点信息
delete [number] # 删除断点
watch *(int *)0x08044530 # 在内存0x0804453处的数据改变时stop
x /4xg $ebp # 查看ebp开始的4个8字节内容(b:单字节,h:双字节,w:四字节,g:八字节,x:十六进制,s:字符串,i:反汇编,c:单字符)
p $eax # 输出eax的内容
set $eax=4 # 修改变量值
c # 继续运行
r # 重新开始运行
ni # 单步步过
si # 单步步入
fini # 运行至函数刚结束处
return expression # 将函数返回值指定为expression
bt # 查看当前栈帧
info f # 查看当前栈帧
context # 查看运行上下文
stack # 查看当前堆栈
call func # 前置函数调用
ropgagdet # 找common rop
vmmap # 查看虚拟地址分布
shellcode· # 搜索,生成shellcode
ptype struct link_map # 查看link_map定义
p &((struct link_map*)0)->l_info # 查看l_info成员偏移
如:mov eax, dword ptr [ebp - 0x24] 取出数值然后赋值给eax查看ebp-0x24
需执行命令
x/10dw $ebp-0x24