Go to file
Zach Riggle 9eb244f14f Mo caps 2015-05-17 10:55:16 -04:00
caps Mo caps 2015-05-17 10:55:16 -04:00
pwndbg Add stepover, small fixes for ARM 2015-05-17 06:56:44 -07:00
.gitignore lots of WIP stuff 2015-05-09 15:25:24 -04:00
LICENSE.md license 2015-03-11 03:29:11 -07:00
README.md Merge pull request #11 from Grazfather/master 2015-05-14 20:52:15 -04:00
gdbinit.py Sort imports 2015-04-13 16:22:08 -04:00
ida_script.py Lots of changes for automatically showing various function arguments etc. 2015-05-11 20:28:35 -04:00
requirements.txt Lots of changes for automatically showing various function arguments etc. 2015-05-11 20:28:35 -04:00

README.md

BETA SOFTWARE

This is barely a beta. There are currently no versioned releases, only master. I push to master with impunity. There are no tests. If anything works at all, consider yourself lucky.

Feature contributions and bugfixes are both very welcome :)

pwndbg

A PEDA replacement. In the spirit of our good friend windbg, pwndbg is pronounced pwnd-bag.

  • Speed
  • Resiliency
  • Clean code

Best supported on Ubuntu 14.04 with default gdb or gdb-multiarch (e.g. with Python3).

Installation

  1. Clone the repo: git clone https://github.com/zachriggle/pwndbg
  2. Add to ~/.gdbinit: echo "source $PWD/pwndbg/gdbinit.py" >> ~/.gdbinit

Prerequisites

Capstone 4.0

Currently this is only available via a source build.

  1. Clone the repo: git clone https://github.com/aquynh/capstone
  2. Select the next branch: cd capstone && git checkout -t origin/next
  3. Build and install libcapstone: sudo ./make.sh install
  4. Build and install Python bindings: cd bindings/python && python setup.py install

pycparser

pip install pycparser

Features

Does most things that PEDA does. Doesn't do things that PEDA does that pwntools or binjitsu (my fork of pwntools) do better.

Also has a basic windbg compat layer for e.g. dd, eb, da, dps. Now you can even eb eip 90!

For most standard function calls, it knows how many arguments there are and can print out the function call args.

Screenshots

Here's a screenshot of pwndbg working on an aarch64 binary running under qemu-user.

a

Here's a screenshot of PEDA. That it's aarch64 doesn't matter -- it chokes in the same way for everything qemu-user.

c

And here's a screenshot of GDB's built-in commands failing horribly. Note that while, yes, it gives output -- the addresses it does give are all wrong, and are just file offsets.

c