
GEF (GDB Enhanced Features) - uma experiência moderna para GDB com capacidades avançadas de depuração para desenvolvedores de exploits e engenheiros reversos no Linux.
GEF (pronunciado ʤɛf - "Jeff") é um conjunto de comandos para x86/64, ARM, MIPS, PowerPC e SPARC para auxiliar desenvolvedores de exploits e engenheiros reversos ao usar o GDB clássico. Ele fornece recursos adicionais ao GDB usando a API Python para auxiliar durante o processo de análise dinâmica e desenvolvimento de exploits. Desenvolvedores de aplicações também se beneficiarão, pois o GEF elimina grande parte da obscuridade do GDB padrão, evitando repetir comandos tradicionais ou trazendo à tona as informações relevantes do runtime de depuração.
Basta garantir que você tenha o GDB 10.0 ou superior compilado com suporte a Python3.10+ e então:
# 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)
Você pode ver imediatamente que o GEF está instalado corretamente ao iniciar o GDB:

Alguns dos recursos do GEF incluem:
GEF vem com baterias incluídas e é instalável instantaneamentegef-legacy).Confira a página de Screenshots para ver mais ou experimente online (usuário:gef/senha:gef-demo)
Diferente de outros plugins do GDB, o GEF possui uma documentação extensa e atualizada. Recomenda-se que os usuários a consultem, pois ela pode ajudar em suas tentativas de usar o GEF. Em particular, novos usuários devem navegar por ela (veja o FAQ para problemas comuns de instalação) e, se o problema persistir, tentem buscar ajuda no canal do Discord ou abrir uma issue.
Para se envolver, consulte a documentação de Contribuição e as diretrizes para começar.
Outra forma de contribuir para manter o projeto vivo é patrocinando-o! Confira a documentação de patrocínio para obter detalhes e fazer parte da lista desses patrocinadores incríveis.
| Documentation | License | Compatibility | CI Tests (main) |
|---|