GEF
(prononcé ʤɛf - "Jeff") est un ensemble de commandes pour x86/64, ARM, MIPS, PowerPC et SPARC pour aider les développeurs d'exploits et les rétro-ingénieurs lors de l'utilisation de GDB à l'ancienne. Il fournit des fonctionnalités supplémentaires à GDB en utilisant l'API Python pour vous aider pendant le processus d'analyse dynamique et de développement d'exploits. Les développeurs d'applications en bénéficieront également, car GEF lève une grande partie de l'obscurité habituelle de GDB, en évitant de répéter les commandes traditionnelles ou en faisant ressortir les informations pertinentes du runtime de débogage.
Assurez-vous simplement que GDB 10.0 ou supérieur est compilé avec les liaisons Python3.10+, puis :
# 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)
Vous pouvez immédiatement constater que GEF est correctement installé en lançant GDB :
Voici quelques fonctionnalités GEF
:
GEF
est fourni avec une batterie et peut être installé instantanémentgef-legacy
). Consultez la page Capture d'écran pour en savoir plus ou essayez-le en ligne (utilisateur : gef
/mot de passe : gef-demo
)
Contrairement aux autres plugins GDB, GEF dispose d'une documentation complète et à jour. Il est recommandé aux utilisateurs de s'y référer car il peut les aider dans leurs tentatives d'utilisation de GEF. En particulier, les nouveaux utilisateurs doivent le parcourir (voir la FAQ pour les problèmes d'installation courants) et si le problème persiste, essayez de demander de l'aide sur le canal Discord ou soumettez un problème.
Documentation | Licence | Compatibilité | Tests CI ( main ) |
---|---|---|---|
Pour vous impliquer, référez-vous à la documentation de contribution et aux directives pour commencer.
Une autre façon de contribuer à faire vivre le projet est de le sponsoriser ! Consultez la documentation de parrainage pour plus de détails afin que vous puissiez faire partie de la liste de ces formidables sponsors.