GEF (GDB Enhanced Features) - un'esperienza moderna per GDB con funzionalità di debug avanzate per sviluppatori di exploit e reverse engineer su Linux
GEF (pronunciato ʤɛf - "Jeff") è un insieme di comandi per x86/64, ARM, MIPS, PowerPC e SPARC per
assistere gli sviluppatori di exploit e i reverse-engineer quando usano il classico GDB. Fornisce funzionalità
aggiuntive a GDB tramite l'API Python per supportare il processo di analisi dinamica e sviluppo di exploit.
Anche gli sviluppatori di applicazioni ne trarranno beneficio, poiché GEF elimina gran parte dell'oscurità del normale
GDB, evitando di ripetere i comandi tradizionali o facendo emergere le informazioni rilevanti
dal runtime di debug.
Assicurati semplicemente di avere GDB 10.0 o superiore compilato con i binding Python3.10+, quindi:
# 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)
Puoi vedere subito che GEF è installato correttamente avviando GDB:

Alcune delle funzionalità di GEF includono:
GEF è completo e si
installa all'istantegef-legacy).Consulta la pagina degli screenshot per saperne di più o provalo
online (utente:gef/password:gef-demo)
A differenza di altri plugin GDB, GEF ha un'estesa e aggiornata documentazione. Si consiglia agli utenti di farvi riferimento poiché può aiutarli nei loro tentativi di usare GEF. In particolare, i nuovi utenti dovrebbero esplorarla (vedi la FAQ per i problemi di installazione comuni), e se il problema persiste, prova a chiedere aiuto sul canale Discord o ad aprire una segnalazione.
Per partecipare, fai riferimento alla documentazione per i contributi e alle linee guida per iniziare.
Un altro modo per contribuire a mantenere vivo il progetto è sponsorizzarlo! Scopri la documentazione sulle sponsorizzazioni per i dettagli, così puoi far parte dell'elenco di quegli straordinari sponsor.