Skip to content

Commit af68925

Browse files
author
hugsy
committed
Merge branch 'master' of github.com:hugsy/gef-extras
2 parents 39ecdb1 + 1006f3f commit af68925

File tree

1 file changed

+87
-1
lines changed

1 file changed

+87
-1
lines changed

README.md

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,87 @@
1-
docs/index.md
1+
<p align="center">
2+
<img src="https://i.imgur.com/KW9Bt8D.png" alt="logo"/>
3+
</p>
4+
5+
6+
## Extra goodies for [`GEF`](https://github.com/hugsy/gef)
7+
8+
| **Documentation** | **Community** | **Try it** |
9+
|--|--|--|
10+
| [![Documentation Status](https://readthedocs.org/projects/gef-extras/badge/?version=latest&token=05e48c43fba3df26ad1ccf33353180e4b515681b727e2f3011013a915f953084)](https://gef-extras.readthedocs.io/en/latest/?badge=latest) | [![Discord](https://img.shields.io/badge/Discord-GDB--GEF-yellow)](https://discordapp.com/channels/705160148813086841/705160148813086843) | [![live](https://img.shields.io/badge/GEF-Live-brightgreen)](https://demo.gef.blah.cat) (`gef`/`gef-demo`) |
11+
12+
This is an open repository of external scripts and structures to be used by [GDB Enhanced Features (GEF)](https://github.com/hugsy/gef). To use those scripts once `gef` is setup, simply clone this repository and update your GEF settings like this:
13+
14+
15+
### How-to use ###
16+
17+
#### Run the install script ####
18+
```bash
19+
$ wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef-extras.sh | sh
20+
```
21+
22+
#### Do it manually ####
23+
24+
Start with cloning this repo:
25+
```bash
26+
$ git clone https://github.com/hugsy/gef-extras
27+
```
28+
29+
Add the path to the external scripts to GEF's config:
30+
```
31+
gef➤ gef config gef.extra_plugins_dir /path/to/gef-extras/scripts
32+
```
33+
34+
And same for the structures (to be used by [`pcustom` command](https://gef.readthedocs.io/en/master/commands/pcustom/)):
35+
```
36+
gef➤ gef config pcustom.struct_path /path/to/gef-extras/structs
37+
```
38+
39+
And for the syscall tables:
40+
```
41+
gef➤ gef config syscall-args.path /path/to/gef-extras/syscall-tables
42+
```
43+
44+
And finally for the glibc function call args definition:
45+
```
46+
gef➤ gef config context.libc_args True
47+
gef➤ gef config context.libc_args_path /path/to/gef-extras/glibc-function-args
48+
```
49+
50+
Check out the [complete doc](glibc_function_args.md) on libc argument support.
51+
52+
53+
Now run and enjoy all the fun!
54+
55+
56+
Note that it is possible to specify multiple directories, separating the paths with
57+
a semi-colon:
58+
59+
```
60+
gef➤ gef config gef.extra_plugins_dir /path/to/dir1;/path/to/dir2
61+
```
62+
63+
And don't forget to save your settings.
64+
65+
```
66+
gef➤ gef save
67+
```
68+
69+
70+
### Contributions ###
71+
72+
#### I can code! ####
73+
74+
Good for you! This repository is open to anyone, no filtering is done! Simply [drop a PR](https://github.com/hugsy/gef-scripts/pulls) with the command you want to share :smile: And useful scripts will eventually be integrated directly to GEF.
75+
76+
Check out [GEF API page](https://gef.readthedocs.io/en/latest/api/) to start writing powerful GDB commands using GEF!
77+
78+
79+
#### I can't code 🤔 ####
80+
81+
Well, that's ok! Just create an [Issue](https://github.com/hugsy/gef-extras/issues)
82+
explaining what cool feature/idea/command you had in mind! Even better, write
83+
the documentation (Markdown format) for your command. It'll make easier for
84+
people who wants to integrate it!
85+
86+
87+
### Enjoy and happy hacking ! ###

0 commit comments

Comments
 (0)