gdb/pwndbg 常用命令简单整理

本地环境:GNU gdb (Debian 7.12-6) 7.12.0.20161007

*为可选 黑色 为gdb原生命令 绿色 为 pwndbg 或 peda 插件命令

命令 缩写 效果
gdb <file> <*pid> 添加新程序
gdb attach <pid> 负载运行的程序
set args <*argv> 设置程序运行参数
show args 查看设置好的运行参数
quit q 退出gdb
symbol <file> sy 导入符号表
info <*b> i 查看程序的状态/*查看断点
frame f 查看栈帧
backtrace bt 查看堆栈情况
list l 显示源代码
(debug模式)
display disp 跟踪查看某个变量
start s 启动程序并中断在入口
debug模式停在main(),否则停在start()
run r 直接运行程序直到断点
continue c 暂停后继续执行程序
next n 单步步过
step s 单步步入,函数跟踪
finish fin 跳出,执行到函数返回处
break /*<addr> b 下断点
watch 下内存断点并监视内存情况
print p 打印符号信息(debug模式)
i r a 查看所有寄存器
i r <esp/ebp..> 查看某个寄存器
set $esp = 0x01 修改某个寄存器的值
heap 查看分配的chunk
vmmap 查看内存分配情况
bin 查看 Bin 情况
x /<num><n/f/u> 显示内存信息,具体用法附在下面
context 打印 pwnbdg 页面信息
dps <addr> 优雅地显示内存信息
disassemble <func> 打印函数信息
vmmap 显示程序内存结构
search <*argv> 搜索内存中的值
输入 search -h 可查询用法
checksec 查看程序保护机制
parseheap 优雅地查看分配的chunk
aslr <on/off> 打开/关闭 ASLR 保护
pshow 显示各种踏板选项和其他设置
dumpargs <num> 显示在调用指令处停止时传递给函数的参数
dumprop <from> <to> 显示特定内存范围内的所有ROP gadgets
elfheader 从调试的elf文件获取头信息
elfsymbol 从ELF文件获取非调试符号信息
procinfo 显示来自/proc/pid的各种信息
readelf 从elf文件获取头信息

x指令的具体用法:n、f、u为控制打印形式的参数

'num' 表示打印的数量

'n' 代表打印格式,可为o(八进制),x(十六进制),d(十进制),u(无符号十进制),t(二进制),f(浮点类型),a(地址类型),i(解析成命令并反编译),c(字符)和s(字符串)

'f' 用来设定输出长度,b(byte),h(halfword),w(word),giant(8bytes)

'u' 指定单位内存单元的字节数(默认为dword) 可用b(byte),h(halfword),w(word),giant(8bytes)替代

x指令也可以显示地址上的指令信息,用法:x/i

posted @ 2020-03-14 21:04  暖暖草果  阅读(5221)  评论(0编辑  收藏  举报