pwndbg、pwntools环境搭建(Unix系统)

2020-06-06  本文已影响0人  弦歌丶

目录

[TOC]

pwndbg环境搭建

项目地址

https://github.com/pwndbg/pwndbg

搭建过程

1、安装环境基础

2、安装过程

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

该脚本主要是检查了一下系统信息,然后根据系统信息自动安装了一些所需要的工具和依赖库包括gdb,当然有时需要通过源码去编译gdb。

3、配置启用pwndbg

安装完成后,通过编辑用户目录下的gdb配置文件.gdbinit,通过该文件可以启用pwngdb,主要在文件中添加的内容如下,

# 文件路径为所克隆的项目的路径。
source [/path/to/pwndbg/gdbinit.py] 

4、问题

待补充。。。

pwntools安装

项目地址

https://github.com/Gallopsled/pwntools/

搭建过程

1、安装环境

2、安装过程

pip install pwntools

4、问题

待补充。。。

环境使用

pwndbg使用

程序动态调试

# 直接gdb后面接程序进入程序调试
gdb [/path/to/program]

pwngdb常用命令

信息查看
info functions查看所有函数的信息。
info breakpoints查看所有断点的信息。
info registers查看所有寄存器的信息。
info watchpoints查看所有内存断点的信息。
info threads查看所有线程的信息。

直接运行程序直到遇见断点。

debug模式停在main(),否则停在start()。

下断点,后面可直接加函数名表示在该函数的开头处下断点,也可以直接加地址不过需要在地址前加上一个*号。如,break main或者break *0xdeadbeaf

可以使用delete来删除断点,delete breakpoints删除所有断点,delete 加上一个序号可以删除指定的断点。

查看栈里的内容。

查看指定内存地址的内容。
一般是x/[n/f/u]的形式,其中n、f、u为控制打印形式的参数
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

检查程序的保护机制。

动态调试命令,单步步过。

动态调试命令,单步步入。

执行到当前函数的返回处。

查看程序堆栈结构。

搜索内存中的信息。

继续运行到下一个断点。

待补充。。。

上一篇 下一篇

猜你喜欢

热点阅读