AIアシスタントからGhidraを操作し、バイナリを分析できるMCPサーバー。逆コンパイル、リネーム、注釈付けなど200以上のツールを提供。
hugsy/gef
x86、ARM、MIPS、PowerPC、SPARCに対応した、exploit開発向けの拡張インターフェースをGDBに追加するPython拡張です。
- スター
- 8,424
- フォーク
- 842
- 未解決の Issue
- 18
- 最終コミット
- 3 か月前
これは何?
GEF(GDB Enhanced Features)は、GDBにモダンなインターフェースと一連のコマンドを追加する単一のPythonスクリプトです。動的解析を行うexploit開発者やリバースエンジニアを主な対象とし、プログラムをデバッグするアプリケーション開発者が、GDBでの反復的な作業を減らすのにも役立ちます。
GEFはGDBのPython APIを基盤とし、アーキテクチャ抽象化レイヤーを使っているため、x86-32/64、ARMv5/6/7、AARCH64、SPARC、MIPS、PowerPCでコマンドを利用できます。外部依存関係はなく、~/.gdbinitから1つのファイルを読み込むだけでインストールできます。Python 3バインディングを有効にしてビルドしたGDB 10.0以降が必要です。
停止するたびに表示されるコンテキスト表示機能に加え、メモリ、レジスタ、実行時の状態を調べるための多数のコマンドを備えています。コミュニティ提供のコマンドは、別のGEF-Extrasリポジトリで管理されています。
主な機能
- 01外部依存関係のない、単一のGDBスクリプト
- 02x86、ARM、MIPS、PowerPC、SPARCに対応したアーキテクチャ非依存のコマンド
- 03デバッガーが停止するたびに表示されるコンテキスト表示
- 04GDB Python APIによる拡張性
- 05GEF-Extrasによるコミュニティ提供コマンドの拡張
ユースケース
- exploit開発中のバイナリの動的解析
- Linux上で未知のプログラムをリバースエンジニアリング
- 機能が充実したGDBインターフェースを使ったCTFのpwn問題の攻略
- 手作業でGDBスクリプトを書く手間を抑えた、アプリケーションのクラッシュデバッグ
クイックスタート
- 1
Python 3.10以降のバインディングを含むGDB 10.0以降がインストールされていることを確認します
- 2
GEFスクリプトをホームディレクトリにダウンロードします
wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py - 3
スクリプトを.gdbinitファイルに追加します
echo source ~/.gdbinit-gef.py >> ~/.gdbinit - 4
GDBを起動してGEFが読み込まれることを確認します
gdb -q
使う前に知っておきたいこと
- Python 3.10以降のバインディングを含むGDB 10.0以降が必要です。
- GDB専用で、エクスプロイト開発やリバースエンジニアリングのワークフローを対象としています。
収録されている特集
トピック
よくある質問
- gef とは?
- x86、ARM、MIPS、PowerPC、SPARCに対応した、exploit開発向けの拡張インターフェースをGDBに追加するPython拡張です。 GEF(GDB Enhanced Features)は、GDBにモダンなインターフェースと一連のコマンドを追加する単一のPythonスクリプトです。動的解析を行うexploit開発者やリバースエンジニアを主な対象とし、プログラムをデバッグするアプリケーション開発者が、GDBでの反復的な作業を減らすのにも役立ちます。
- gef は無料で使えますか?ライセンスは?
- gef は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- gef は今もメンテナンスされていますか?
- 半年以内に更新あり。gef の最終コミットは 2026年8月20日 です。
- gef は何に使えますか?
- exploit開発中のバイナリの動的解析 Linux上で未知のプログラムをリバースエンジニアリング 機能が充実したGDBインターフェースを使ったCTFのpwn問題の攻略 手作業でGDBスクリプトを書く手間を抑えた、アプリケーションのクラッシュデバッグ
- gef のインストール方法は?
- Python 3.10以降のバインディングを含むGDB 10.0以降がインストールされていることを確認します GEFスクリプトをホームディレクトリにダウンロードします: wget -O ~/.gdbinit-gef.py -q https://gef.blah.cat/py スクリプトを.gdbinitファイルに追加します: echo source ~/.gdbinit-gef.py >> ~/.gdbinit GDBを起動してGEFが読み込まれることを確認します: gdb -q
- gef はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/hugsy/gef
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
バイナリの解析、逆アセンブル、デバッグに使える、UNIX系のリバースエンジニアリングフレームワークとコマンドラインツール群。
x64dbgをHTTP経由で操作し、ブレークポイントの設定、ステップ実行、メモリ読み取りなどをAIアシスタントから行えるMCPプラグインです。
バイナリ、アプリ、ファームウェア、ファイル形式、プロトコルを対象とする、注釈付きの厳選リバースエンジニアリングツール・学習リソース集。
EXE、DLL、SYS、静的ライブラリ、COFFオブジェクト、ELFファイルに対応し、逆アセンブルとデコンパイルも行えるWindows向けPEビューア・解析ツールです。
リバースエンジニアリング、ペンテスト、CTFのタスクを適切な手順書に振り分け、ツールのインストール状況を確認するAIエージェント向けスキルパック。