pwndbg插件安装
git clone https://github.com/pwndbg/pwndbg
cd pwndbg
sudo ./setup.sh
文件
选择文件
gdb 文件名
gdb
;file 文件名
attach 进程ID
调试
- 运行程序:
run
|r
- 将文件中的数据作为参数运行:
r < payload
- 运行至main函数:
start
- 单步步入:
step
|s
- 单步步过:
next
|n
- 在指定行数下断点:
b 函数名
- 在指定地址下断点:
b *地址
- 继续运行程序:
continue
|c
寄存器
- 查看所有寄存器的值:
reg
- 查看指定寄存器的值:
p $寄存器
内存
- 查看程序内存布局:
i proc mappings
- 数据查看:
- 以反汇编形式查看数据:
x/字节数 地址
- 以32位十六进制形式查看数据:
x/[数量]xw 地址
- 以64位十六进制形式查看数据:
x/[数量]gx 地址
堆栈
- 查看函数调用情况:
backtrace
|bt
- 查看堆栈:
stack
其它
-
查看所有函数名:
i functions
-
查看指定函数反汇编代码:
disassemble 函数名
-
查看当前函数反汇编代码:
disassemble $pc
-
查看libc动态地址:
libc
-
查找字符串所在地址:
search '字符串'
-
查看程序源代码:
list
|l
-
显示当前文件以“行号”为中心的前后10行代码:
l 行号
-
显示指定函数的源代码:
l 函数名
-
接着上一次 list 命令,输出之后的内容:
l