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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
VMDragonSlayer — VM保護されたバイナリのアンパックと解析のためのマルチエンジンフレームワーク。動的タイントラッキング、シンボリック実行、パターン分類、およびML駆動の優先順位付けを活用し、商用およびカスタムプロテクターのリバースエンジニアリングを自動化します。 | Kitploit
ツール/GitHubGitHub/poppopjmp/vmdragonslayer
静的分析動的分析 (サンドボックス)脆弱性分析リバースエンジニアリングデバッガファジングマルウェア分析バイナリ解析機械学習論文と研究学習と教育
GitHub
4316810ヶ月前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

VMDragonSlayer

VM保護されたバイナリのアンパックと解析のためのマルチエンジンフレームワーク。動的タイントラッキング、シンボリック実行、パターン分類、およびML駆動の優先順位付けを活用し、商用およびカスタムプロテクターのリバースエンジニアリングを自動化します。

リポジトリを見る

VMDragonSlayer

プロジェクトは10月中旬に公開予定(リファクタリング中)

高度な仮想マシン検出・解析フレームワーク

VMDragonSlayerは、VMProtect 2.x/3.x、Themida、カスタムマルウェアVMなどの仮想マシン(VM)ベースのプロテクタで保護されたバイナリを解析するための包括的なフレームワークです。このフレームワークは、動的タイントラッキング(DTT)、シンボリック実行(SE)、パターン分類、機械学習を含む複数の解析エンジンを組み合わせ、リバースエンジニアリングプロセスを自動化します。

目標: 複雑な保護バイナリ解析を数週間/数か月の手作業から、構造化された説明可能な結果を持つ自動解析へと変革すること。

主な機能

  • マルチエンジン解析: 静的、動的、ハイブリッド解析技術を組み合わせ
  • VM検出: 商用およびカスタムVMプロテクタの自動検出
  • プラグインエコシステム: Ghidra、IDA Pro、Binary Ninjaとの統合
  • 機械学習: パターン分類のための概念実証MLモデル
  • 拡張可能なアーキテクチャ: カスタム解析ワークフローのためのモジュール設計
  • 研究フレームワーク: マルウェア研究とリバースエンジニアリング教育向け

コア機能

ドメインエンジン/モジュールハイライト
VM発見analysis.vm_discoveryディスパッチャ・ハンドラテーブル特定、ネストされたVMヒューリスティック
パターン解析analysis.pattern_analysisルールベース+類似度+ML(ハイブリッド自動選択)
タイントラッキングanalysis.taint_trackingIntel Pin駆動のバイトレベルタイント、ハンドラ発見、フロー信頼度
シンボリック実行analysis.symbolic_execution.executorPathPrioritizer ML重み付き探索、制約・状態追跡
ハイブリッドオーケストレーション(Pythonコア)順次/並列/適応ワークフロー(Ghidraレポートは実装済みと示唆)
合成データdata/training/synthetic_sample_generator.py難読化ミューテーション、マルチアーキテクチャサンプル生成
パターンDBdata/patterns/JSON + 拡張DB + SQLiteバックアップのランタイムパターン
Ghidraプラグインplugins/ghidra/進行中のUI統合(いくつかのテンプレート未完成)
スキーマ/検証data/schemas/JSONスキーマ検証済み解析出力・パターンフォーマット

アーキテクチャ概要

VMDragonSlayerは、複数の解析エンジンが連携するモジュラーアーキテクチャを採用しています:

root@kitploit:~
graph TD
    A[VM Discovery Engine] --> B[Pattern/ML Classifier]
    B --> C[Symbolic Execution Engine]
    B --> D[Dynamic Taint Tracker]
    D --> C
    
    subgraph DataSources ["Data Sources"]
        E[Pattern Database]
        F[ML Models - PoC]
    end
    
    subgraph Coordination
        G[Orchestrator - Workflow Management & Coordination]
    end
    
    E --> B
    F --> B
    A --> G
    B --> G
    C --> G
    D --> G
    E --> G
    F --> G
    G --> H[REST API Server]
    G --> I[Plugins - RE Tools]

コア解析エンジン

1. VM発見エンジン (dragonslayer.analysis.vm_discovery)

  • 目的: VMベースの保護スキームの検出と分類
  • 手法: ディスパッチャループ検出、ハンドラテーブル解析、制御フローヒューリスティック
  • 対象: VMProtect、Themida、カスタムマルウェアVM、ネストされた保護

2. 動的タイントラッキング (dragonslayer.analysis.taint_tracking)

  • 目的: VM実行を通じたデータフローの追跡により重要なパスを特定
  • 実装: Intel Pinベースの計装、バイトレベルの精度
  • 機能: シャドウメモリ、アンチ解析回避、自動ハンドラ発見

3. パターン解析 (dragonslayer.analysis.pattern_analysis)

  • 目的: VMパターンと振る舞いの分類・カテゴリ化
  • 手法: ルールベースマッチング、類似度解析、ML分類
  • データベース: JSONスキーマを用いた拡張可能なパターンデータベース

4. シンボリック実行 (dragonslayer.analysis.symbolic_execution)

  • 目的: VM実行パスのシンボリック探索
  • 機能: 制約解決、パス優先順位付け、状態マージ
  • 統合: タイントラッキング結果を活用して探索をシード

5. 機械学習パイプライン (dragonslayer.ml)

  • 目的: 自動分類と解析支援
  • モデル: 研究および教育向けの基本的な概念実証モデル
  • 構成要素: 特徴量抽出、モデル訓練、アンサンブル予測

リポジトリ構造

root@kitploit:~
VMDragonSlayer/
├── dragonslayer/                    # メインPythonパッケージ
│   ├── analysis/                   # 解析エンジン
│   │   ├── vm_discovery/          # VM検出と分類
│   │   ├── pattern_analysis/      # パターンマッチングとML分類
│   │   ├── symbolic_execution/    # シンボリック実行エンジン
│   │   ├── taint_tracking/        # 動的タイント解析
│   │   └── anti_evasion/          # アンチ解析対策
│   ├── api/                       # REST APIサーバとクライアント
│   ├── core/                      # コアフレームワークコンポーネント
│   ├── ml/                        # 機械学習パイプライン
│   ├── analytics/                 # 解析レポートとメトリクス
│   ├── gpu/                       # GPUアクセラレーションサポート
│   ├── utils/                     # ユーティリティ関数
├── data/                          # 設定およびデータファイル
│   ├── patterns/                  # パターンデータベース
│   ├── models/                    # MLモデルとメタデータ
│   │   ├── pretrained/           # 事前学習モデル(PoC)
│   │   └── metadata/             # モデルメタデータとスキーマ
│   ├── samples/                   # サンプルファイルとレジストリ
│   ├── schemas/                   # 検証用JSONスキーマ
│   └── training/                  # 学習設定
├── plugins/                       # リバースエンジニアリングツールプラグイン
│   ├── ghidra/                   # Ghidraプラグイン(Java/Gradle)
│   ├── idapro/                   # IDA Proプラグイン(Python)
│   └── binaryninja/              # Binary Ninjaプラグイン(Python)
├── tests/                         # テストスイート
├── documentation/                 # ドキュメント
└── LICENSE                        # GPL v3ライセンス

プラグインエコシステム

VMDragonSlayerは主要なリバースエンジニアリングツールと統合します:

Ghidraプラグイン

  • 言語: Java(Gradleビルドシステム)
  • 機能: VM解析UI、パターン可視化、自動解析ワークフロー
  • ステータス: フレームワーク実装済み、UIコンポーネント開発中

IDA Proプラグイン

  • 言語: Python
  • 機能: IDAの解析エンジンとのシームレスな統合
  • ステータス: コア機能利用可能

Binary Ninjaプラグイン

  • 言語: Python
  • 機能: Binary NinjaネイティブAPI統合
  • ステータス: 基本統合実装済み

機械学習コンポーネント

注: 含まれているMLモデルは研究および教育目的のための基本的な概念実装です。


インストール

前提条件

  • Python 3.8以上
  • 1つ以上のリバースエンジニアリングツール:
    • Ghidra 10.0以上(Ghidraプラグイン用)
    • IDA Pro 7.0以上(IDAプラグイン用)
    • Binary Ninja(Binary Ninjaプラグイン用)

ハードウェア要件

最小要件

  • CPU: 最新のx64プロセッサ
  • RAM: 最低8GB、推奨16GB
  • ストレージ: 5GB以上の空き容量
  • OS: Windows 10/11、Linux(Ubuntu 20.04以上)、macOS 11以上

GPU要件(推奨だが必須ではない)

  • NVIDIA GPU: GTX 1060以上(最適なパフォーマンスのため)
  • CUDA: バージョン11.8または12.1以上(PyTorchで自動インストール)
  • VRAM: MLモデルで最低4GB

重要な制限事項

  • 仮想マシン: GPUアクセラレーション機能は直接ハードウェアアクセスを必要とし、VMでは動作しない場合があります
  • WSL: 一部のGPU機能はWSL環境で制限される可能性があります
  • リモートサーバ: ヘッドレスGPUアクセスのためにCUDAドライバが適切にインストールされていることを確認してください

現在のステータス(修正済み問題)

動作確認済みの例

root@kitploit:~
# これで正しく動作します:
from dragonslayer.core.orchestrator import Orchestrator, AnalysisType

orchestrator = Orchestrator()
result = orchestrator.analyze_binary("your_binary.exe", analysis_type=AnalysisType.VM_DISCOVERY)

# 結果は適切に構造化されています:
vmd = result.get("vm_discovery", {})
print(f"VM detected: {vmd.get('vm_detected', False)}")
print(f"Handlers found: {len(vmd.get('handlers_found', []))}")

クイックスタート

root@kitploit:~
# 1. すべての依存関係をインストール
pip install -r requirements.txt
pip install -e .

コアフレームワーク

root@kitploit:~
# リポジトリをクローン
git clone https://github.com/poppopjmp/VMDragonSlayer.git
cd VMDragonSlayer

# 更新されたインストール方法
# z3-solverを含むすべての必要な依存関係をインストール
pip install -r requirements.txt

# フレームワークを開発モードでインストール
pip install -e .

ハードウェア別インストール

root@kitploit:~
# CPUのみのインストール(基本機能)
pip install -r requirements.txt
pip install -e .

# NVIDIA GPU + CUDA 12.x(RTX 30xx/40xxシリーズ)
pip install -r requirements.txt
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -e .

# NVIDIA GPU + CUDA 11.8(古いGPU)
pip install -r requirements.txt  
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -e .

仮想環境を作成

python -m venv venv source venv/bin/activate # Linux/macOS

または

venv\Scripts\activate # Windows

依存関係をインストール

pip install -r requirements.txt

フレームワークをインストール

cd dragonslayer pip install -e .

プラグインのインストール

好みの逆アセンブラを選択:

Ghidraプラグイン

root@kitploit:~
cd plugins/ghidra
./build.bat  # Windows
# または
./build.sh   # Linux/macOS

# Ghidraにインストール
cp dist/VMDragonSlayer.zip $GHIDRA_INSTALL_DIR/Extensions/

クイックスタート

1. 基本的なフレームワークの使用方法

root@kitploit:~
from dragonslayer.core.orchestrator import Orchestrator, AnalysisType

# オーケストレータを初期化(デフォルト設定を自動読み込み)
orchestrator = Orchestrator()

# バイナリを解析
result = orchestrator.analyze_binary("path/to/protected_binary.exe", analysis_type=AnalysisType.VM_DISCOVERY)

# VM発見結果を抽出
vmd = result.get("vm_discovery", {})
print(f"VM Protection Detected: {vmd.get('vm_detected', False)}")
print(f"Handler Count: {len(vmd.get('handlers_found', []))}")
print(f"Analysis Success: {result.get('success', False)}")

プラグインステータス

リバースエンジニアリングツール統合


アーキテクチャ

VMDragonSlayerは複数の解析エンジンを備えたモジュラーアーキテクチャを採用しています:

解析エンジン

VM発見エンジン

  • ディスパッチャ検出: 制御フロー解析によりVMディスパッチャループを特定
  • ハンドラマッピング: VMハンドラとその関係をマッピング
  • アーキテクチャ認識: VMProtect、Themida、カスタムVMアーキテクチャを検出

タイントラッキングエンジン

  • 動的解析: VMハンドラを通じたデータフローを追跡
  • 精度制御: バイトレベルまたは命令レベルの粒度
  • アンチ回避: 一般的な解析検出技術を回避

パターン解析エンジン

  • シグネチャマッチング: ルールベースのパターン認識
  • ML分類: 機械学習ベースのハンドラ分類
  • 類似度解析: バリアント検出のためのファジーマッチング

シンボリック実行エンジン

  • パス探索: 実行パスの体系的探索
  • 制約解決: Z3ベースの制約解決
  • VM対応解析: 仮想化コードのための特別な処理

機械学習モデル

フレームワークにはいくつかの概念実証モデルが含まれています:

利用可能なモデル

  • バイトコード分類器: VMバイトコードシーケンスのパターン認識
  • VM検出器: VM保護の有無の二値分類
  • ハンドラ分類器: VMハンドラタイプの分類
  • VMProtect検出器: VMProtectパターンの専用検出器
  • アンサンブルモデル: 複数の分類器を組み合わせて精度向上

モデルの特性

  • フォーマット: Scikit-learn互換(joblibシリアライゼーション)
  • サイズ: 迅速なプロトタイピングに適した小規模モデル
  • 目的: 教育用の例と研究用ベースライン
  • 学習データ: 合成データと限定的な実世界サンプル

設定

環境変数

root@kitploit:~
# Core configuration
export VMDS_CONFIG_PATH="/path/to/config"
export VMDS_MODEL_PATH="/path/to/models"  
export VMDS_LOG_LEVEL="INFO"

# Database configuration
export VMDS_DB_URL="sqlite:///vmds.db"

# API configuration
export VMDS_API_HOST="localhost"
export VMDS_API_PORT="8000"

設定ファイル

  • data/database_config.json: データベース設定
  • data/taint_config.properties: タイント解析パラメータ
  • data/models/model_registry_config.toml: MLモデル設定

使用例

高度な設定

root@kitploit:~
from dragonslayer.core.config import Config
from dragonslayer.analysis.vm_discovery import VMDiscoveryEngine
from dragonslayer.analysis.taint_tracking import TaintTracker

# Custom configuration
config = Config({
    'vm_discovery': {
        'min_handler_count': 10,
        'dispatcher_threshold': 0.8
    },
    'taint_tracking': {
        'precision': 'byte_level',
        'max_depth': 1000
    }
})

# Initialize specific engines
vm_engine = VMDiscoveryEngine(config)
taint_tracker = TaintTracker(config)

# Run targeted analysis
vm_result = vm_engine.analyze("binary.exe")
if vm_result.vm_detected:
    taint_result = taint_tracker.analyze(vm_result.handlers)

バッチ解析

root@kitploit:~
from dragonslayer.workflows.manager import WorkflowManager

# Process multiple binaries
manager = WorkflowManager()
results = manager.process_batch([
    "sample1.exe",
    "sample2.exe", 
    "sample3.exe"
])

# Generate summary report
manager.generate_report(results, "analysis_report.json")

コントリビューション

コントリビューションを歓迎します!以下をご覧ください:

  • CONTRIBUTING.md - 開発ガイドライン
  • CODE_OF_CONDUCT.md - コミュニティ基準
  • SECURITY.md - セキュリティポリシー

ライセンス

このプロジェクトはGNU General Public License v3.0の下でライセンスされています。詳細はLICENSEを参照してください。


引用

研究でVMDragonSlayerを使用する場合は、以下を引用してください:

root@kitploit:~
@software{vmdragonslayer_2025,
  title   = {VMDragonSlayer: Automated VM-based Binary Protection Analysis},
  author  = {Panico, Agostino},
  year    = {2025},
  url     = {https://github.com/poppopjmp/VMDragonSlayer}
}

連絡先

  • 著者: van1sh
  • メール: [email protected]
  • GitHub: @poppopjmp

謝辞

このフレームワークを可能にしたリバースエンジニアリングコミュニティと、基盤となる解析ツール・ライブラリの開発者の皆様に特別な感謝を捧げます。

ツールをダウンロード
ツールステータス完了予定備考
Direct API安定版現在利用可能推奨されるアプローチ
Ghidraプラグイン進行中2025年10月基本機能利用可能
IDA Proプラグイン開発中2025年11月作業中 - 未完成
Binary Ninjaプラグイン開発中2025年11月作業中 - 未完成