{"id":13395884,"url":"https://github.com/hugsy/gef","last_synced_at":"2025-05-07T11:53:13.599Z","repository":{"id":29419486,"uuid":"32955140","full_name":"hugsy/gef","owner":"hugsy","description":"GEF (GDB Enhanced Features) - a modern experience for GDB with advanced debugging capabilities for exploit devs \u0026 reverse engineers on Linux","archived":false,"fork":false,"pushed_at":"2025-04-15T16:07:34.000Z","size":7547,"stargazers_count":7413,"open_issues_count":15,"forks_count":769,"subscribers_count":138,"default_branch":"main","last_synced_at":"2025-04-22T20:12:09.264Z","etag":null,"topics":["binary-ninja","ctf","debugging","discord","exploit","exploit-development","gdb","gef","ida-pro","linux","malware-analysis","mips","powerpc","pwn","pwntools","python","python-api","reverse-engineering","sparc"],"latest_commit_sha":null,"homepage":"https://hugsy.github.io/gef","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hugsy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["hugsy"]}},"created_at":"2015-03-26T22:25:45.000Z","updated_at":"2025-04-21T21:10:01.000Z","dependencies_parsed_at":"2024-04-26T16:47:33.854Z","dependency_job_id":"f7f9a95d-9723-4f2a-a24c-1c40738ff91d","html_url":"https://github.com/hugsy/gef","commit_stats":{"total_commits":2165,"total_committers":128,"mean_commits":16.9140625,"dds":0.6341801385681294,"last_synced_commit":"13a93390123682363e7430cf4531f11cb3fe85ff"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugsy%2Fgef","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugsy%2Fgef/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugsy%2Fgef/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hugsy%2Fgef/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hugsy","download_url":"https://codeload.github.com/hugsy/gef/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252873973,"owners_count":21817710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binary-ninja","ctf","debugging","discord","exploit","exploit-development","gdb","gef","ida-pro","linux","malware-analysis","mips","powerpc","pwn","pwntools","python","python-api","reverse-engineering","sparc"],"created_at":"2024-07-30T18:00:34.904Z","updated_at":"2025-05-07T11:53:13.573Z","avatar_url":"https://github.com/hugsy.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://i.imgur.com/o0L8lPN.png\" alt=\"logo\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://discord.gg/hSbqxxBgRX\"\u003e\u003cimg alt=\"Discord\" src=\"https://img.shields.io/badge/Discord-BlahCats-yellow\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://hugsy.github.io/gef\"\u003e\u003cimg alt=\"Docs\" src=\"https://img.shields.io/badge/Docs-gh--pages-brightgreen\"\u003e\u003c/a\u003e\n  \u003ca title=\"Use the IDs: gef/gef-demo\" href=\"https://demo.gef.blah.cat\"\u003e\u003cimg alt=\"Try GEF\" src=\"https://img.shields.io/badge/Demo-Try%20GEF%20Live-blue\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n`GEF` (pronounced ʤɛf - \"Jeff\") is a set of commands for x86/64, ARM, MIPS, PowerPC and SPARC to\nassist exploit developers and reverse-engineers when using old school GDB. It provides additional\nfeatures to GDB using the Python API to assist during the process of dynamic analysis and exploit\ndevelopment. Application developers will also benefit from it, as GEF lifts a great part of regular\nGDB obscurity, avoiding repeating traditional commands, or bringing out the relevant information\nfrom the debugging runtime.\n\n## Instant Setup\n\nSimply make sure you have [GDB 10.0 or higher](https://www.gnu.org/s/gdb) compiled with Python3.10+\nbindings, then:\n\n```bash\n# via the install script\n## using curl\n$ bash -c \"$(curl -fsSL https://gef.blah.cat/sh)\"\n\n## using wget\n$ bash -c \"$(wget https://gef.blah.cat/sh -O -)\"\n\n# or manually\n$ wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py\n$ echo source ~/.gdbinit-gef.py \u003e\u003e ~/.gdbinit\n\n# or alternatively from inside gdb directly\n$ gdb -q\n(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)\n```\n\nYou can immediately see that GEF is correctly installed by launching GDB:\n\n![gef-context](https://i.imgur.com/E3EuQPs.png)\n\nA few of `GEF` features include:\n\n*  **One** single GDB script\n*  Entirely **architecture agnostic**, **NO** dependencies: `GEF` is battery-included and [is\n  installable instantly](https://hugsy.github.io/gef/#setup)\n*  **Fast** limiting the number of dependencies and optimizing code to make the commands as fast as\n  possible\n*  Provides a great variety of commands to drastically change your experience in GDB.\n*  [**Easily** extensible](https://hugsy.github.io/gef/api/) to create other commands by providing\nd more comprehensible layout to GDB Python API.\n*  Full Python3 support ([Python2 support was\n  dropped](https://github.com/hugsy/gef/releases/tag/2020.03) - see\n  [`gef-legacy`](https://github.com/hugsy/gef-legacy)).\n*  Built around an architecture abstraction layer, so all commands work in any GDB-supported\n  architecture such as x86-32/64, ARMv5/6/7, AARCH64, SPARC, MIPS, PowerPC, etc.\n* Suited for real-life apps debugging, exploit development, just as much as CTF\n* And a lot more commands contributed by the community available on\n  [GEF-Extras](https://github.com/hugsy/gef-extras) !!\n\nCheck out the [Screenshot page](docs/screenshots.md) for more or [try it\nonline](https://demo.gef.blah.cat) (user:`gef`/password:`gef-demo`)\n\n## Documentation\n\nUnlike other GDB plugins, GEF has an extensive and up-to-date\n[documentation](https://hugsy.github.io/gef/). Users are recommended to refer to it as it may help\nthem in their attempts to use GEF. In particular, new users should navigate through it (see the\n[FAQ](https://hugsy.github.io/gef/faq/) for common installation problems), and the problem persists,\ntry to reach out for help on the Discord channel or submit an issue.\n\n## Current status\n\n| Documentation |License | Compatibility | CI Tests (`main`) |\n|:---:|:---:|:---|--|\n| [![Documentation](https://github.com/hugsy/gef/actions/workflows/generate-docs.yml/badge.svg)](https://github.com/hugsy/gef/actions/workflows/generate-docs.yml) | [![MIT](https://img.shields.io/packagist/l/doctrine/orm.svg?maxAge=2592000?style=plastic)](https://github.com/hugsy/gef/blob/main/LICENSE) | [![Python 3](https://img.shields.io/badge/Python-3-green.svg)](https://github.com/hugsy/gef/) | [![CI Test for GEF](https://github.com/hugsy/gef/actions/workflows/tests.yml/badge.svg)](https://github.com/hugsy/gef/actions/workflows/tests.yml) |\n\n## Contribute\n\nTo get involved, refer to the [Contribution\ndocumentation](https://hugsy.github.io/gef/#contribution) and the\n[guidelines](https://github.com/hugsy/gef/blob/main/.github/CONTRIBUTING.md) to start.\n\n## Sponsors\n\nAnother way to contribute to keeping the project alive is by sponsoring it! Check out [the\nsponsoring documentation](https://hugsy.github.io/gef/#sponsors) for details so you can be part of\nthe list of those [awesome sponsors](https://github.com/sponsors/hugsy).\n\n## Happy Hacking 🍻\n","funding_links":["https://github.com/sponsors/hugsy"],"categories":["[*] System hacking / Pwnable","GDB Plugins","Python","Debugging and Reverse Engineering","Reversing","Python (144)","Tools","Python (1887)","\u003ca id=\"683b645c2162a1fce5f24ac2abfa1973\"\u003e\u003c/a\u003e漏洞\u0026\u0026漏洞管理\u0026\u0026漏洞发现/挖掘\u0026\u0026漏洞开发\u0026\u0026漏洞利用\u0026\u0026Fuzzing","gdb","2. [↑](#-content) Pentesting","reverse-engineering","\u003ca id=\"975d9f08e2771fccc112d9670eae1ed1\"\u003e\u003c/a\u003eGDB","Programming/Comp Sci/SE Things"],"sub_categories":["[+] TIP \u0026 Tools  :+1:","Other Resources","\u003ca id=\"605b1b2b6eeb5138cb4bc273a30b28a5\"\u003e\u003c/a\u003e漏洞开发","Extensions","[↑](#-content) 2.12 Binary Explotation","\u003ca id=\"5f4381b0a90d88dd2296c2936f7e7f70\"\u003e\u003c/a\u003e工具","Exploitation/PWN"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhugsy%2Fgef","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhugsy%2Fgef","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhugsy%2Fgef/lists"}