summer14

pwndbg学习

安装pwndbg

环境:ubuntu 20.04

git clone https://github.com/yichen115/GDB-Plugins

进入 pwndbg 文件夹
git init 初始化
运行.
/setup.sh 安装 使用pwndbg:echo "source ~/GDB-Plugins/pwndbg/gdbinit.py" > ~/.gdbinit
 
pwndbg默认显示分别是寄存器、汇编指令、栈空间、函数调用。如图所示
   
 
基本使用
运行
start                 start进入程序的入口点
r                     run,执行程序或者执行到第一个断点
c                     continue,执行到下一个断点

 调试

ni                    步过,执行完整个子函数,相当于执行一条汇编指令
si                    步入,进入子函数的实现中
finish                步出,从步入里退出

 断点

b                      设置断点
d 2                    删除断点(一般不用,而是让断点失效,'2'是断点的标号)
disable b 2            让断点失效
enable b 2             让断点生效

 内存

print    [$寄存器][函数名]      打印函数地址或寄存器的值
x/20xg  $rbp-0x10             查看某个地址开始存放的数据
x/20i    $rip                 查看固定行数的汇编代码
set    *0x7fffffffde20=0x61   修改某个地址的值
vmmap                         虚拟内存地址段范围、权限

反汇编

disassemble $rip    查看当前执行函数的汇编指令
set disassembly-flavor intel    设置反汇编的模式

当前调试信息

info r              info register,查看寄存器状况
info b              info breakpoints,查看已经设置的断点

学习视频:https://www.bilibili.com/video/BV1SL4y147fj/?spm_id_from=333.788&vd_source=82674c7b46506e656b9456d045d841b7

 

posted on 2023-04-06 11:42  summer14  阅读(1298)  评论(0编辑  收藏  举报

导航