美文网首页
pwndbg、pwntools环境搭建(Unix系统)

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

作者: 弦歌丶 | 来源:发表于2020-06-06 15:43 被阅读0次

目录

[TOC]

pwndbg环境搭建

项目地址

https://github.com/pwndbg/pwndbg

搭建过程

1、安装环境基础

  • git
  • python
  • python-pip

2、安装过程

  • 使用git命令克隆远程项目到本地。
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、安装环境

  • python
  • python-pip

2、安装过程

  • 使用pip命令直接安装
pip install pwntools

4、问题

待补充。。。

环境使用

pwndbg使用

程序动态调试

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

pwngdb常用命令

  • info

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

  • run

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

  • start

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

  • break

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

  • delete

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

  • stack

查看栈里的内容。

  • x

查看指定内存地址的内容。
一般是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

  • checksec

检查程序的保护机制。

  • next

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

  • step

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

  • finish

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

  • vmmap

查看程序堆栈结构。

  • search

搜索内存中的信息。

  • continue

继续运行到下一个断点。

待补充。。。

相关文章

网友评论

      本文标题:pwndbg、pwntools环境搭建(Unix系统)

      本文链接:https://www.haomeiwen.com/subject/cboxtktx.html