Code Monkey home page Code Monkey logo

gef's Introduction

GDB Enhanced Features (a.k.a. GEF)

GEF (pronounced ʤɛf - "Jeff") is a set of commands for x86/64, ARM, MIPS, PowerPC and SPARC to assist exploit developers and reverse-engineers when using old school GDB. It provides additional features to GDB using the Python API to assist during the process of dynamic analysis and exploit development. Application developers will also benefit from it, as GEF lifts a great part of regular GDB obscurity, avoiding repeating traditional commands, or bringing out the relevant information from the debugging runtime.

gef-context

Instant Setup

Simply make sure you have GDB 7.7 or higher compiled with Python2 or Python3 bindings, then:

# via the install script
$ wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh

# manually
$ wget -O ~/.gdbinit-gef.py -q https://github.com/hugsy/gef/raw/master/gef.py
$ echo source ~/.gdbinit-gef.py >> ~/.gdbinit

Then just start playing:

$ gdb -q /path/to/my/bin
gef➤  gef help

Highlights

A few of GEF features include:

  • One single GDB script.
  • Entirely OS Agnostic, NO dependencies: GEF is battery-included and is installable in 2 seconds (unlike PwnDBG).
  • Fast limiting the number of dependencies and optimizing code to make the commands as fast as possible (unlike PwnDBG).
  • Provides a great variety of commands to drastically change your experience in GDB.
  • Easily extendable to create other commands by providing more comprehensible layout to GDB Python API.
  • Works consistently on both Python2 and Python3.
  • Built around an architecture abstraction layer, so all commands work in any GDB-supported architecture such as x86-32/64, ARMv5/6/7, AARCH64, SPARC, MIPS, PowerPC, etc. (unlike PEDA)
  • Suited for real-life apps debugging, exploit development, just as much as CTF (unlike PEDA or PwnDBG)

Check out the Screenshot page for more.

Documentation

Unlike other GDB plugins, GEF has an extensive and up-to-date documentation. Users are recommended to refer to it as it may help them in their attempts to use GEF. In particular, new users should navigate through it (see the FAQ for common installation problems), and the problem persists, try to reach out for help on the IRC channel or submit an issue.

Current status

Documentation License Compatibility IRC Test validation
ReadTheDocs MIT Python 2 & 3 IRC CircleCI status

Contribute

To get involved, refer to the Contribution documentation and the guidelines to start.

And special thanks to Pedro "TheZakMan" Araujo for the logo!.

Happy Hacking

gef's People

Contributors

grazfather avatar hugsy avatar daniellimws avatar wbowling avatar escapingbug avatar umutoztunc avatar dlrobertson avatar tiecoon avatar rick2600 avatar a1exdandy avatar fibonascii avatar kyle-kyle avatar sashs avatar d4em0n avatar jr64 avatar yrp604 avatar kirill9617 avatar gaffe23 avatar silverbut avatar arthaud avatar lillypad avatar waveburst avatar hhchung avatar etrickel avatar degrigis avatar bkth avatar vitapluvia avatar u0m3 avatar noodles777 avatar ulidtko avatar

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.