本地环境:GNU gdb (Debian 7.12-6) 7.12.0.20161007
*为可选 黑色 为gdb原生命令 绿色 为pwndbg命令
命令 | 缩写 | 效果 |
---|---|---|
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 |
b | 下断点 |
watch | 下内存断点并监视内存情况 | |
p | 打印符号信息(debug模式) | |
x /<num><n/f/u> |
显示内存信息,具体用法附在下面 | |
context | 打印pwnbdg页面信息 | |
dps <addr> | 优雅地显示内存信息 | |
disassemble <func> | 打印函数信息 | |
vmmap | 显示程序内存结构 | |
search <*argv> | 搜索内存中的值 输入 search -h 可查询用法 |
|
checksec | 查看程序保护机制 |
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