Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
DAILA — デコンパイラに依存しない、デコンパイラ内でAIと対話するためのプラグイン。GPT-4、Claude、ローカルモデルに対応! | Kitploit
ツール/GitHubGitHub/mahaloz/daila
脆弱性分析コード分析リバースエンジニアリングバイナリ解析AI支援リバースエンジニアリング
GitHubmahaloz/daila

DAILA

デコンパイラに依存しない、デコンパイラ内でAIと対話するためのプラグイン。GPT-4、Claude、ローカルモデルに対応!

リポジトリを見る
704611ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

DAILA

Decompiler Artificially Intelligent Language Assistant(DAILA)は、AIシステムをデコンパイラで使用するための統合インターフェースです。 DAILAを使うと、ローカルおよびリモートのLLMなど、さまざまなAIシステムを、多くのデコンパイラにわたって同じスクリプトおよびGUIインターフェースで利用できます。 DAILAはHITCON CMT 2023のキーノート講演で紹介され、 NDSS 2026の研究論文"Decompiling the Synergy: An Empirical Study of Human–LLM Teaming in Software Reverse Engineering"で研究されました。 論文のリポジトリをお探しの場合は、こちらにあります。

オンラインでのさらなるヘルプについては、以下のDiscordに参加してください(BinSyncサーバー上でホストされています):

Discord

対応デコンパイラとAIシステム

DAILAはDecLibライブラリを通じてデコンパイラと抽象的に連携します。 これにより、DAILAは以下のデコンパイラをサポートします:

  • IDA Pro: >= 8.4
  • Ghidra: >= 12.0
  • Binary Ninja: >= 2.4
  • angr-management: >= 9.0

DAILAはLiteLLMでサポートされているあらゆるLLMをサポートします。例:

  • ChatGPT
  • Claude
  • Llama2
  • Gemini
  • など...

DAILAは、S&P 2024で発表された、逆コンパイル結果の変数名変更を行うローカルモデルであるVarBERTなど、さまざまなタイプのローカルモデルもサポートしています。

インストール

pipでライブラリバックエンドをインストールし、インストーラーでデコンパイラプラグインをインストールします:

root@kitploit:~
pip3 install dailalib && daila --install 

これはライトモードです。VarBERTを使用したい場合は、フルバージョンをインストールする必要があります:

root@kitploit:~
pip3 install 'dailalib[full]' && daila --install 

これにより、VarBERT APIを通じてVarBERTモデルもダウンロードされます。 インターネットにアクセスできないセキュアなネットワークなど、DAILAをインターネットに接続できないマシンにインストールする場合は、Docker ContainerセクションのDockerイメージを使用できます。

Ghidraの追加手順

Ghidraを動作させるには、いくつかの追加手順が必要です。まず、PyGhidraモードで実行する必要があります。これを行うには、 Ghidraのインストールディレクトリに移動し、./support/pyghidraRunを実行します。

次に、DAILAプラグインを有効にします:

  1. Ghidraを起動し、バイナリを開きます
  2. Windows > Script Managerメニューに移動します
  3. dailaを検索してスクリプトを有効にします

Ghidraバージョンを動作させるには、python3がパスに含まれている必要があります。実際にPython 2の中からそれを呼び出しています。 また、Ghidraで$USER_HOME/ghidra_scriptsを有効なスクリプトパスとして有効にする必要があるかもしれません。

手動インストール(上記が失敗した場合)

上記が失敗した場合は、手動でインストールする必要があります。 手動でインストールするには、まずリポジトリ上でpip3 install dailalibを実行し、次にdaila_plugin.pyファイルをデコンパイラのプラグインディレクトリにコピーします。

使用方法

DAILAは次の2つの方法で使用できるように設計されています:

  1. GUIを備えたデコンパイラプラグインとして
  2. デコンパイラ内のスクリプトライブラリとして

デコンパイラGUI

Ghidra(下記参照)を除き、デコンパイラを起動すると、関数内の任意の場所を右クリックしたときにアクセスできる新しいコンテキストメニューが表示されます:

DAILA context menu

Ghidraを使用している場合は、Tools->DAILA->Start DAILA Backendに移動してバックエンドサーバーを起動します。 これを実行した後、上記のようにコンテキストメニューを使用できます。

スクリプティング

dailalibパッケージをインポートすることで、独自のスクリプトでDAILAを使用できます。 OpenAI APIを使用した例は次のとおりです:

root@kitploit:~
from dailalib import LiteLLMAIAPI
from declib.api import DecompilerInterface

deci = DecompilerInterface.discover()
ai_api = LiteLLMAIAPI(decompiler_interface=deci)
for function in deci.functions:
    summary = ai_api.summarize_function(function)

Docker Container

インストール後にインターネットを使用しない、セキュアなネットワークなどのワンショットインストール用にDAILAをインストールする場合は、Dockerコンテナを使用できます。 コンテナを自分でビルドしてイメージをtarballに保存し、ターゲットマシンにロードするか、事前にビルドされたイメージを使用できます。 このリポジトリのルートでdocker build . -t dailaを実行すると、コンテナを自分でビルドできます。 また、docker pull mahaloz/daila:latestを実行して、事前にビルドされたイメージをダウンロードすることもできます(イメージはx86_64 Linux用です)。 コンテナにはDAILAとGhidraのコピーが含まれています。

次に、GUIを表示できるようにX11をコンテナに転送する必要があります。 これを行うには、次のフラグを指定してコンテナを実行する必要があります:

root@kitploit:~
docker run -it --rm -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix mahaloz/daila:latest

コンテナ内で、/tools/ghidra_10.4_PUBLIC/ghidraRunからGhidraを起動できます。 次に、Ghidra Extra Stepsに従ってDAILAプラグインを有効にすれば、準備完了です!

サポートされているAIバックエンド

LiteLLM(多数のバックエンド)

DAILAはLiteLLM APIをサポートしており、これはOpenAIなどのさまざまなバックエンドをサポートしています。 商用LLM APIを使用するには、独自のAPIキーを提供する必要があります。 例として、OpenAI APIを使用するには、OpenAI APIキーが必要です。 デコンパイラがOPENAI_API_KEY環境変数にアクセスできない場合は、DAILAのデコンパイラオプションを使用してAPIキーを設定する必要があります。

Settingsでは、Llama2の使用など、OpenAIベースのLLMエンドポイントを追加/使用することもできます。

現在、DAILAは次のプロンプトをサポートしています:

  • 関数の要約
  • 変数のリネーム
  • 関数のリネーム
  • 関数のソースの特定
  • 関数内の潜在的な脆弱性の検出
  • ライブラリコールのmanページの要約
  • フリープロンプト... 独自のプロンプトを入力するだけです!

VarBERT

VarBERTは、S&P 2024の論文"Len or index or count, anything but v1": Predicting Variable Names in Decompilation Output with Transfer Learningで発表されたローカルBERTモデルです。 VarBERTは、逆コンパイル結果の変数(スタック、レジスタ、引数のすべて)のリネームに使用されます。 VarBERTをライブラリとして使用する方法については、VarBERT APIのドキュメントを参照してください。 DAILAでの使用は、関数をクリックしてGUIコンテキストメニューを使用するだけです。

デモ

DAILA内で動作するVarBERTのデモは以下のとおりです:

VarBERT Demo

対応デコンパイラ

  • IDA

  • Binja

  • Ghidra

  • angr management

ツールをダウンロード