Git Product home page Git Product logo

pwndbg's Introduction

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

git clone https://github.com/zachriggle/pwndbg
echo "source $PWD/pwndbg/gdbinit.py" >> ~/.gdbinit

Prerequisites

Capstone 4.0

Currently this is only available via a source build.

git clone https://github.com/aquynh/capstone
cd capstone
git checkout -t origin/next
sudo ./make.sh install
cd bindings/python
sudo python2 setup.py install # Ubuntu 12.04, GDB uses Python2
sudo python3 setup.py install # Ubuntu 14.04+, GDB uses Python3

pycparser

pip install pycparser # Use pip3 for Python3

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 few screenshots of some of the cool things pwndbg does.

e
Function arguments

f
Conditional jump evaluation and jump following

g
More dump following

h
RET following, useful for ROP

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.