All Projects → hugsy → Gef

hugsy / Gef

Licence: mit
GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging features for exploit developers & reverse engineers ☢

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Gef

Pwndbg
Exploit Development and Reverse Engineering with GDB Made Easy
Stars: ✭ 4,178 (-0.45%)
Mutual labels:  ida-pro, ctf, malware-analysis, reverse-engineering, debugging, gdb, gef, binary-ninja
exploiting
Exploiting challenges in Linux and Windows
Stars: ✭ 122 (-97.09%)
Mutual labels:  exploit, gdb, pwn, ctf, pwntools, exploit-development
Hyperpwn
A hyper plugin to provide a flexible GDB GUI with the help of GEF, pwndbg or peda
Stars: ✭ 387 (-90.78%)
Mutual labels:  exploit, ctf, pwn, reverse-engineering, debugging, gdb
Ctf All In One
CTF竞赛权威指南
Stars: ✭ 2,807 (-33.12%)
Mutual labels:  exploit, ctf, pwn, reverse-engineering
Unicorn
Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, X86)
Stars: ✭ 4,934 (+17.56%)
Mutual labels:  reverse-engineering, mips, sparc, powerpc
Keypatch
Multi-architecture assembler for IDA Pro. Powered by Keystone Engine.
Stars: ✭ 939 (-77.63%)
Mutual labels:  ida-pro, reverse-engineering, mips, powerpc
Capstone
Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings.
Stars: ✭ 5,374 (+28.04%)
Mutual labels:  reverse-engineering, mips, sparc, powerpc
CTF
My CTF tools & some other stuff
Stars: ✭ 17 (-99.59%)
Mutual labels:  gdb, pwn, ctf, pwntools
pwnscripts
Very simple script(s) to hasten binary exploit creation
Stars: ✭ 66 (-98.43%)
Mutual labels:  exploit, pwn, ctf, pwntools
FastPwn
CTF中Pwn的快速利用模板(包含awd pwn)
Stars: ✭ 18 (-99.57%)
Mutual labels:  exploit, pwn, ctf, pwntools
Keystone
Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings
Stars: ✭ 1,654 (-60.59%)
Mutual labels:  reverse-engineering, mips, sparc, powerpc
Write Ups
📚 VoidHack CTF write-ups
Stars: ✭ 45 (-98.93%)
Mutual labels:  exploit, ctf, pwn, reverse-engineering
Redasm
The OpenSource Disassembler
Stars: ✭ 1,042 (-75.17%)
Mutual labels:  ida-pro, reverse-engineering, mips
Mazewalker
Toolkit for enriching and speeding up static malware analysis
Stars: ✭ 132 (-96.85%)
Mutual labels:  ida-pro, malware-analysis, reverse-engineering
Reversing List
Reversing list
Stars: ✭ 106 (-97.47%)
Mutual labels:  ida-pro, ctf, reverse-engineering
Heapinspect
🔍Heap analysis tool for CTF pwn.
Stars: ✭ 177 (-95.78%)
Mutual labels:  exploit, pwn, gdb
Awesome Hacking Resources
A collection of hacking / penetration testing resources to make you better!
Stars: ✭ 11,466 (+173.2%)
Mutual labels:  exploit, ctf, reverse-engineering
kar98k public
pwn & ctf tools for windows
Stars: ✭ 24 (-99.43%)
Mutual labels:  pwn, ctf, malware-analysis
heaptrace
helps visualize heap operations for pwn and debugging
Stars: ✭ 252 (-94%)
Mutual labels:  debugging, pwn, ctf
cross
“Zero setup” cross compilation and “cross testing” of Rust crates
Stars: ✭ 3,550 (-15.42%)
Mutual labels:  mips, sparc, powerpc

logo

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 7.7 or higher compiled with Python3 bindings, then:

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

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

# or manually
$ wget -O ~/.gdbinit-gef.py -q http://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-master').read()); gdb.execute('source %s' % g.name)

Note: to fetch the latest of GEF (i.e. from the dev branch), simply replace in the URL to http://gef.blah.cat/dev.

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

$ gdb -q /path/to/my/bin
GEF for linux ready, type `gef' to start, `gef config' to configure
80 commands loaded for GDB 9.1 using Python engine 3.8
gef➤  gef help

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 the (not actively maintained) gef-legacy instead.

Community

Discord

Note: For maintenance simplicity, the unified communities on IRC/Gitter/Slack/Discord based MatterBridge are now discontinued. The GEF Discord is now the only way for talking with us!

Highlights

gef-context

A few of GEF features include:

  • One single GDB script
  • Entirely OS 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 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

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
ReadTheDocs MIT Python 3

Contribute

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

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].