JusticeRage/Gepetto

IDA plugin which queries language models to speed up reverse-engineering

何を解決するか

IDA Proでデコンパイルされたコードの逆工程は、変数名を手動で変更し、関数の動作を理解するためにコメントを追加するという、しばしば退屈な作業です。Gepettoは、大規模言語モデル(LLMs)を使用して、IDA Proでデコンパイルされた関数の論理を分析・説明することで、この作業を自動化します。

動作方法

PythonプラグインとしてIDA Proに統合されたGepettoは、関数のデコンパイルされた疑似コードを指定されたLLMプロバイダーに送信します。モデルはコードを分析し、変数名の提案と機能の説明を返却し、プラグインがその内容をIDA環境に適用します。

対象ユーザー

IDA Pro(バージョン7.6以降)とHex-Raysデコンパイラを使用するセキュリティ研究者、マルウェア分析者、および逆工程担当者。

特徴

  • 広範なモデル対応: OpenAI、Anthropic、Google Gemini、Azure、Ollama、Groq、Together、Novita AI、Kluster.aiなど、多数のプロバイダーに対応。
  • 即時コード改善: 関数の説明、コメントの追加、より良い変数名の要求に使えるホットキーを提供。
  • 拡張可能なプロバイダーシステム: Pythonスクリプトまたはパッケージエントリポイントを通じて、独自のLLMプロバイダーを追加可能。
  • CLIインターフェース: IDA内に組み込まれたCLIを提供し、コードに関する直接的な質問をLLMに投げかけることができる。
  • ローカルLLM対応: OllamaやLM Studioなどのローカルモデルランナーと互換性あり。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト