GEF (GDB Enhanced Features) - Linux上でエクスプロイト開発者やリバースエンジニアに高度なデバッグ機能を提供する、GDBのモダンなエクスペリエンス
GEF(発音: ʤɛf - "Jeff")は、x86/64、ARM、MIPS、PowerPC、SPARC向けのコマンド群で、旧来のGDBを使用するエクスプロイト開発者やリバースエンジニアを支援します。Python APIを使用してGDBに追加機能を提供し、動的解析やエクスプロイト開発のプロセスを支援します。アプリケーション開発者にとっても、GEFが通常のGDBの難解さを大幅に解消し、従来のコマンドの繰り返しを避け、デバッグ実行時に関連情報を引き出すため、恩恵があります。
まず、GDB 10.0以降がPython3.10+バインディング付きでコンパイルされていることを確認してください。その後:
# 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)
GDBを起動すると、GEFが正しくインストールされていることをすぐに確認できます:

GEF の機能の一部は次のとおりです:
GEF は自己完結型で、即座に
インストール可能gef-legacy)。詳細はスクリーンショットページを確認するか、オンラインで試す(ユーザー:gef/パスワード:gef-demo)ことができます。
他のGDBプラグインとは異なり、GEFには広範かつ最新のドキュメントがあります。ユーザーはGEFを使用する際、このドキュメントを参照することをお勧めします。特に、新しいユーザーはドキュメントに目を通してください(一般的なインストール問題についてはFAQを参照)。それでも問題が解決しない場合は、Discordチャンネルで助けを求めるか、issueを提出してください。
| ドキュメント | ライセンス | 互換性 | CIテスト (main) |
|---|---|---|---|
参加するには、貢献ドキュメント と ガイドライン を参照して始めてください。
プロジェクトの存続に貢献するもう一つの方法は、スポンサーになることです!詳細はスポンサーに関するドキュメントを確認して、素晴らしいスポンサーのリストに仲間入りしましょう。