pwn学习总结(三) —— gdb常用命令

pwn学习总结(三) —— gdb常用命令

pwndbg插件安装

git clone https://github.com/pwndbg/pwndbg
cd pwndbg
sudo ./setup.sh

文件

选择文件

  1. gdb 文件名
  2. gdb ; file 文件名
  3. attach 进程ID

调试

  • 运行程序
  1. run | r
  2. 将文件中的数据作为参数运行r < payload
  3. 运行至main函数start
  • 单步步入step | s
  • 单步步过next | n
  • 在指定行数下断点b 函数名
  • 在指定地址下断点b *地址
  • 继续运行程序continue | c

寄存器

  • 查看所有寄存器的值reg
  • 查看指定寄存器的值p $寄存器

内存

  • 查看程序内存布局i proc mappings
  • 数据查看
  1. 以反汇编形式查看数据x/字节数 地址
  2. 以32位十六进制形式查看数据x/[数量]xw 地址
  3. 以64位十六进制形式查看数据x/[数量]gx 地址

堆栈

  • 查看函数调用情况backtrace | bt
  • 查看堆栈stack

其它

  • 查看所有函数名i functions

  • 查看指定函数反汇编代码disassemble 函数名

  • 查看当前函数反汇编代码disassemble $pc

  • 查看libc动态地址libc

  • 查找字符串所在地址search '字符串'

  • 查看程序源代码list | l

  • 显示当前文件以“行号”为中心的前后10行代码l 行号

  • 显示指定函数的源代码l 函数名

  • 接着上一次 list 命令,输出之后的内容l

发布了45 篇原创文章 · 获赞 2 · 访问量 1836

猜你喜欢

转载自blog.csdn.net/qq_41988448/article/details/103127376