|
|
11 years ago | |
|---|---|---|
| caps | 11 years ago | |
| pwndbg | 11 years ago | |
| .gitignore | 11 years ago | |
| LICENSE.md | 11 years ago | |
| README.md | 11 years ago | |
| gdbinit.py | 11 years ago | |
| ida_script.py | 11 years ago | |
README.md
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
- Clone the repo:
git clone https://github.com/zachriggle/pwndbg - Add to
~/.gdbinit:source ~/pwndbg/gdbinit.py
Prerequisites
As of recent versions, you need Capstone 4.0.
- Clone the repo:
git clone https://github.com/aquynh/capstone - Select the
nextbranch:git checkout -t origin/next - Build and install libcapstone:
sudo make.sh install - Build and install Python bindings:
cd bindings/python && python setup.py install
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!
Screenshots
Here's a screenshot of pwndbg working on an aarch64 binary running under qemu-user.
Here's a screenshot of PEDA. That it's aarch64 doesn't matter -- it chokes in the same way for everything qemu-user.
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.


