MCPcopy Index your code
hub / github.com/hugsy/gef

github.com/hugsy/gef @2026.01 sqlite

repository ↗ · DeepWiki ↗ · release 2026.01 ↗
1,386 symbols 3,862 edges 73 files 403 documented · 29%
README

logo

<a href="https://discord.gg/hSbqxxBgRX"><img alt="Discord" src="https://img.shields.io/badge/Discord-BlahCats-yellow"></a>

Docs Try 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.

Instant Setup

Simply make sure you have GDB 10.0 or higher compiled with Python3.10+ bindings, then:

# via the install script
## using curl
$ bash -c "$(curl -fsSL https://gef.blah.cat/sh)"

## using wget
$ bash -c "$(wget https://gef.blah.cat/sh -O -)"

# or manually
$ wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py
$ echo source ~/.gdbinit-gef.py >> ~/.gdbinit

# or alternatively from inside gdb directly
$ gdb -q
(gdb) pi import urllib.request as u, tempfile as t; g=t.NamedTemporaryFile(suffix='-gef.py'); open(g.name, 'wb+').write(u.urlopen('https://tinyurl.com/gef-main').read()); gdb.execute('source %s' % g.name)

You can immediately see that GEF is correctly installed by launching GDB:

gef-context

A few of GEF features include:

  • One single GDB script
  • Entirely architecture agnostic, NO dependencies: GEF is battery-included and is installable instantly
  • Fast limiting the number of dependencies and optimizing code to make the commands as fast as possible
  • Provides a great variety of commands to drastically change your experience in GDB.
  • Easily extensible to create other commands by providing d more comprehensible layout to GDB Python API.
  • Full Python3 support (Python2 support was dropped - see gef-legacy).
  • 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.
  • Suited for real-life apps debugging, exploit development, just as much as CTF
  • And a lot more commands contributed by the community available on GEF-Extras !!

Check out the Screenshot page for more or try it online (user:gef/password:gef-demo)

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 Discord channel or submit an issue.

Current status

Documentation License Compatibility CI Tests (main)
Documentation MIT Python 3 CI Test for GEF

Contribute

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

Sponsors

Another way to contribute to keeping the project alive is by sponsoring it! Check out the sponsoring documentation for details so you can be part of the list of those awesome sponsors.

Happy Hacking 🍻

Core symbols most depended-on inside this repo

gef_print
called by 170
gef.py
colorify
called by 124
gef.py
append
called by 93
gef.py
err
called by 92
gef.py
read
called by 65
gef.py
write
called by 65
gef.py
warn
called by 53
gef.py
register
called by 52
gef.py

Shape

Method 923
Class 268
Function 194
Route 1

Languages

Python100%

Modules by API surface

gef.py1,046 symbols
tests/commands/heap.py33 symbols
tests/utils.py24 symbols
tests/commands/nop.py24 symbols
tests/commands/patch.py11 symbols
tests/api/gef_memory.py11 symbols
tests/functions/elf_sections.py10 symbols
tests/perf/benchmark.py9 symbols
tests/commands/gef.py9 symbols
tests/commands/checksec.py9 symbols
tests/api/gef_session.py8 symbols
tests/commands/memory.py7 symbols

Dependencies from manifests, versioned

mkdocs1.2.3 · 1×
rpyc5 · 1×

For agents

$ claude mcp add gef \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact