Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
    [docs] make actions regenerate the api file

    [docs] regenerated gef api file

    [docs] cleanup
  • Loading branch information
hugsy committed Jun 14, 2022
1 parent a7d8fa5 commit d836054
Show file tree
Hide file tree
Showing 10 changed files with 1,286 additions and 1,939 deletions.
9 changes: 8 additions & 1 deletion .github/workflows/generate-docs.yml
Expand Up @@ -20,9 +20,16 @@ jobs:
python-version: '3.9'
architecture: 'x64'
cache: 'pip'
- name: Install pre-requisite
run: |
sudo apt install gdb -y
pip install --requirement docs/requirements.txt
- name: Regenerate GEF API file
run: |
echo "$(pwd)/gef.py" > ~/.gdbinit
bash scripts/generate-api-docs.sh
- name: Build and publish the docs
run: |
git config --global user.name "hugsy"
git config --global user.email "hugsy@users.noreply.github.com"
pip install --requirement docs/requirements.txt
mkdocs gh-deploy --force
52 changes: 20 additions & 32 deletions README.md
@@ -1,10 +1,20 @@
<p align="center">
<img src="https://i.imgur.com/o0L8lPN.png" alt="logo"/>
<table style="border: 0px">
<tr><td><img src="https://i.imgur.com/o0L8lPN.png" alt="logo"/></td></tr>
<tr>
<td>
<a href="https://discord.gg/HCS8Hg7"><img alt="Discord" src="https://img.shields.io/badge/Discord-BlahCats-yellow"></a>
<a href="https://hugsy.github.io/gef"><img alt="Docs" src="https://img.shields.io/badge/Docs-gh--pages-brightgreen"></a>
<a title="Use the IDs: gef/gef-demo" href="https://demo.gef.blah.cat"><img alt="Try GEF" src="https://img.shields.io/badge/Demo-Try--GEF-blue"></a>
</td>
</tr>
</table>
</p>

`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 8.0 or higher](https://www.gnu.org/s/gdb) compiled with Python3.6+ bindings, then:
Expand All @@ -31,63 +41,41 @@ _Note_: to fetch the latest of GEF (i.e. from the `dev` branch), simply replace

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

```bash
$ 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`](https://github.com/hugsy/gef-legacy) instead.
## Community ##
[![Discord](https://img.shields.io/badge/Discord-GDB--GEF-yellow)](https://discord.gg/HCS8Hg7)
_Note_: For maintenance simplicity, the unified communities on IRC/Gitter/Slack/Discord based [MatterBridge](https://github.com/42wim/matterbridge) are now discontinued. The GEF Discord is now the only way for talking with us!
## Highlights ##
![gef-context](https://i.imgur.com/E3EuQPs.png)

A few of `GEF` features include:

* **One** single GDB script
* Entirely **OS Agnostic**, **NO** dependencies: `GEF` is battery-included and [is installable instantly](https://hugsy.github.io/gef/master/#setup)
* **Fast** limiting the number of dependencies and optimizing code to make the commands as fast as possible
* Provides [a great variety of commands](https://hugsy.github.io/gef/master/commands/) to drastically change your experience in GDB.
* Provides a great variety of commands to drastically change your experience in GDB.
* [**Easily** extensible](https://hugsy.github.io/gef/master/api/) to create other commands by providing more comprehensible layout to GDB Python API.
* Full Python3 support ([Python2 support was dropped](https://github.com/hugsy/gef/releases/tag/2020.03) - see [`gef-legacy`](https://github.com/hugsy/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](docs/screenshots.md) for more.
Or [try it online](https://demo.gef.blah.cat) (user:`gef`/password:`gef-demo`)
Check out the [Screenshot page](docs/screenshots.md) for more or [try it online](https://demo.gef.blah.cat) (user:`gef`/password:`gef-demo`)


## Documentation ##

Unlike other GDB plugins, GEF has an extensive and up-to-date [documentation](https://hugsy.github.io/gef/). 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](https://hugsy.github.io/gef/master/faq/) for common installation problems), and the problem persists, try to reach out for help on the Discord channel or submit an issue.
Unlike other GDB plugins, GEF has an extensive and up-to-date [documentation](https://hugsy.github.io/gef/). 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](https://hugsy.github.io/gef/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 |
|:---:|:---:|:---|
| [![Docs](https://img.shields.io/badge/Documentation-blue.svg)](https://hugsy.github.io/gef/) | [![MIT](https://img.shields.io/packagist/l/doctrine/orm.svg?maxAge=2592000?style=plastic)](https://github.com/hugsy/gef/blob/master/LICENSE) | [![Python 3](https://img.shields.io/badge/Python-3-green.svg)](https://github.com/hugsy/gef/) |
| Documentation |License | Compatibility | CI Tests (`master`) | CI Tests (`dev`) |
|:---:|:---:|:---|--|--|
| [![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/master/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/run-tests.yml/badge.svg)](https://github.com/hugsy/gef/actions/workflows/run-tests.yml) | [![CI Test for GEF](https://github.com/hugsy/gef/actions/workflows/run-tests.yml/badge.svg?branch=dev)](https://github.com/hugsy/gef/actions/workflows/run-tests.yml) |


## Contribute ##

To get involved, refer to the [Contribution documentation](https://hugsy.github.io/gef/master/#contribution) and the [guidelines](https://github.com/hugsy/gef/blob/dev/.github/CONTRIBUTING.md) to start.
To get involved, refer to the [Contribution documentation](https://hugsy.github.io/gef/#contribution) and the [guidelines](https://github.com/hugsy/gef/blob/dev/.github/CONTRIBUTING.md) to start.

## Sponsors ##

Another way to contribute to keeping the project alive is by sponsoring it! Check out [the sponsoring documentation](https://hugsy.github.io/gef/master/#sponsors) for details so you can be part of the list of those [awesome sponsors](https://github.com/sponsors/hugsy).
Another way to contribute to keeping the project alive is by sponsoring it! Check out [the sponsoring documentation](https://hugsy.github.io/gef/#sponsors) for details so you can be part of the list of those [awesome sponsors](https://github.com/sponsors/hugsy).


## Happy Hacking ##
## Happy Hacking :beers: ##

0 comments on commit d836054

Please sign in to comment.