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
Instant Setup Simply make sure you have GDB 7.7 or higher compiled with Python3 bindings, then: Then just start playing: Note: As of January 2020, GEF doesn't officially support Python 2 any longer, due to Python 2 becoming officially deprecated.If you really need GDB+Python2, use gef-legacy instead.
gef-legacy
Highlights A few of GEF features include:
GEF
- 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 thecommands 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 comprehensiblelayout to GDB Python API. Works consistently on both Python2 and Python3. Built around an architecture abstraction layer, so all commands work in anyGDB-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 asCTF (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 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