
GEF (GDB Enhanced Features) - una experiencia moderna para GDB con capacidades avanzadas de depuración para desarrolladores de exploits e ingenieros inversos en Linux
GEF (pronunciado ʤɛf - "Jeff") es un conjunto de comandos para x86/64, ARM, MIPS, PowerPC y SPARC para ayudar a desarrolladores de exploits e ingenieros inversos cuando usan el clásico GDB. Proporciona funcionalidades adicionales a GDB mediante la API de Python para asistir durante el proceso de análisis dinámico y desarrollo de exploits. Los desarrolladores de aplicaciones también se beneficiarán, ya que GEF elimina gran parte de la oscuridad de GDB normal, evitando repetir comandos tradicionales, o resaltando la información relevante del entorno de depuración.
Simplemente asegúrate de tener GDB 10.0 o superior compilado con enlaces Python3.10+, luego:
# mediante el script de instalación
## usando curl
$ bash -c "$(curl -fsSL https://gef.blah.cat/sh)"
## usando wget
$ bash -c "$(wget https://gef.blah.cat/sh -O -)"
# o manualmente
$ wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py
$ echo source ~/.gdbinit-gef.py >> ~/.gdbinit
# o alternativamente desde dentro de gdb directamente
$ 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)
Puedes ver inmediatamente que GEF está correctamente instalado al lanzar GDB:

Algunas de las características de GEF incluyen:
GEF viene con todo incluido y se instala al instantegef-legacy).Consulta la página de capturas de pantalla para más información o pruébalo en línea (usuario:gef/contraseña:gef-demo)
A diferencia de otros plugins de GDB, GEF tiene una documentación extensa y actualizada. Se recomienda a los usuarios consultarla, ya que puede ayudarles en sus intentos de usar GEF. En particular, los nuevos usuarios deberían navegar por ella (consulta las Preguntas Frecuentes para problemas comunes de instalación), y si el problema persiste, intenta pedir ayuda en el canal de Discord o enviar un problema.
Para involucrarte, consulta la documentación de contribución y las pautas para comenzar.
Otra forma de contribuir a mantener vivo el proyecto es patrocinándolo. Consulta la documentación de patrocinio para obtener detalles y así puedas formar parte de la lista de esos increíbles patrocinadores.
| Documentación | Licencia | Compatibilidad | Pruebas CI (principal) |
|---|