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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
vmprotect-research | Kitploit
ツール/GitHubGitHub/rasetsuu/vmprotect-research
静的分析動的分析 (サンドボックス)リバースエンジニアリングデバッガバイナリ解析論文と研究学習と教育ファームウェア解析バイナリエクスプロイト
GitHubrasetsuu/vmprotect-research

vmprotect-research

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

人気

すべて見る →

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

すべてのツールを探索

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

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

VMP Devirtualizer - プロダクションリリース

バージョン1.x、2.x、3.xをサポートする汎用VMProtectデバーチャライザ。スタンドアロンCLIツール + Ghidraプラグイン。

ステータス: ✅ プロダクション対応 | 検証: 22/22サンプル(100%) | 対象範囲: VMP ≤3.6(3.7+はリバースエンジニアリングが必要)


機能

  • マルチバージョン対応: VMP 1.x、2.x、3.x(1.1 → 3.10.5)
  • バージョン検出: ヒューリスティックによる自動識別
  • ディスパッチテーブル抽出: 暗号化テーブルに対するUnicorn XORキーキャプチャ
  • ハンドラ分類: 全バージョンにわたる256種類のハンドラ
  • バイトコードデコード: VMオペレーション → x86-64命令の再構築
  • プラットフォーム対応: Windows PE + Linux ELFバイナリ
  • デコンパイラ統合: VMバイトコード → 疑似コード
  • Ghidraプラグイン: 対話的なハンドラ解析 + 注釈付け

クイックスタート

ビルド

root@kitploit:~
cd /home/ciupix/vmp_devirt_prod
cargo build --release

バイナリ: target/release/vmp_devirt

使用方法

root@kitploit:~
# バイナリの解析
./target/release/vmp_devirt <binary_path>

# ハンドラのエクスポート
./target/release/vmp_devirt <binary_path> --export-handlers handlers.json

# バイトコードのエクスポート
./target/release/vmp_devirt <binary_path> --export-bytecode bytecode.json

検証結果

概要

  • 総サンプル数: 22
  • 成功率: 22/22(100%)
  • 平均処理時間: 229ms
  • 合計時間: 5.0秒

バージョン別

バージョン

テスト済みサンプル:

  • VMP 1.x: HiVmp.vmp.1.1.exe, HiVmp.vmp.1.4.exe, HiVmp.vmp.1.54.exe, HiVmp.vmp.1.70.4.exe
  • VMP 2.x: Branch0.vmp.exe, HiVmp.exe, mfc_algo_demo.vmp.exe, Project1.vmp.exe, Project2.vmp.exe, Project4.vmp.exe
  • VMP 3.x: add_control_flow.vmp.exe, adder.vmp.exe, bitwise.vmp.exe, control_flow_test.vmp.exe, cpuid_test.vmp.exe, fac_fib.vmp.exe, globals.vmp.exe, hello_world.vmp.exe, multiadder.vmp.exe, nested_virt_funccall.vmp.exe, ptr_drf.vmp.exe, switch.vmp.exe

詳細な結果については VALIDATION_REPORT.md を参照してください。


アーキテクチャ

root@kitploit:~
Input Binary
    ↓
PE/ELF Loader (src/pe_loader.rs)
    ↓
Version Detector (src/version.rs)
    ↓
Dispatch Table Extractor (src/dispatch_table.rs)
    ├─ Unicorn XOR Key Capture (src/unicorn_emulator.rs)
    └─ Pattern Matching Fallback
    ↓
Handler Classifier (src/handler_classifier.rs)
    ↓
Bytecode Decoder (src/bytecode.rs)
    ├─ Operand Decryption (src/decrypt.rs)
    └─ ALU Reconstruction (src/alu.rs)
    ↓
Output (JSON/Pseudo-asm)

コアモジュール

合計: 本番向けRustコード約2,800行


実装の詳細

バージョン検出

以下に基づくヒューリスティック:

  • ハンドラエントリパターン(POP/PUSHオペコード)
  • ディスパッチメカニズム(ジャンプテーブル vs. 暗号化チェーン vs. ハンドラチェーン)
  • PEセクションレイアウト(.vmp0、.vmp1、.text)
  • エントリスタブパターン(暗号化PUSH + CALL/JMP)

ディスパッチテーブル抽出

VMP 1.x/2.x: .textセクション内のパターンマッチングによるXORキー抽出

  • XOR命令パターンをスキャン
  • オペコードシーケンスからキーを導出
  • イメージベース範囲に対して検証

VMP 3.x: ハンドラチェーンディスパッチ

  • ディスパッチポイント(DP0-DP5)を特定
  • ハンドラチェーンをトレース
  • 256個のディスパッチエントリを抽出

ハンドラ分類

以下に対するパターンマッチング:

  • エントリパターン(49 8b 2a = VMP 3.xのPOP)
  • コア演算(SUB、ADD、XORなど)
  • オペランドタイプ(スロット、オフセット、即値)
  • ディスパッチメカニズム(push/ret、直接jmp)

バイトコードデコード

  1. バイトコードセクションからオペコードを読み取る
  2. ハンドラのセマンティクスを検索
  3. オペランド(スロット、オフセット)を抽出
  4. ValueCryptorチェーン経由でオペランドを復号
  5. x86-64命令を再構築
  6. VMコンテキスト(レジスタファイル、フラグ、スタック)を処理

既知の制限事項

  1. VMP 3.7+(マージハンドラ) - 未サポート。VMP 3.7+ではマージハンドラ(ハンドラエントリごとに複数のオペレーション)が導入され、現在の分類器が機能しなくなります。実際の3.7+サンプルを用いたリバースエンジニアリングが必要です。詳細は FUTURE_WORK.md を参照してください。
  2. XORキー検証警告 - VMP 1.x/2.xでは想定内(非クリティカル)
  3. VMP 3.xディスパッチ検出 - 新しい難読化に対してはフォールバック戦略を使用
  4. Linuxサンプル - 現在のテストセットには未含(ELF対応は実装済み)

パフォーマンス

  • スループット: 約4.4サンプル/秒
  • メモリ: サンプルあたり50MB未満
  • レイテンシ: バイナリサイズに応じて5ms〜3.25s

ドキュメント

  • VALIDATION_REPORT.md - 包括的なテスト結果
  • IMPLEMENTATION_COMPLETE.md - 実装ステータス
  • UNICORN_IMPLEMENTATION_REPORT.md - XORキーキャプチャの詳細

ソースリファレンス

アーキテクチャはVMP 3.5.1ソースコードリークの解析に基づく:

  • ハンドラ構造とディスパッチメカニズム
  • ValueCryptorチェーンの実装
  • ALU演算パターン
  • VMコンテキスト管理

ライセンス

研究・教育目的での使用


連絡先

問題や質問については、検証レポートまたは実装ドキュメントを参照してください。

最終更新日: 2026-06-01 ステータス: プロダクション対応

ツールをダウンロード
サンプル数
成功
平均時間
VMP 1.x44/438ms
VMP 2.x66/6734ms
VMP 3.x1212/1239ms
モジュール目的行数
src/lib.rsメインライブラリインターフェース150
src/version.rsVMPバージョン検出200
src/pe_loader.rsPE/ELFバイナリ読み込み350
src/dispatch_table.rsディスパッチテーブル抽出400
src/unicorn_emulator.rsXORキーキャプチャ308
src/handler_classifier.rsハンドラタイプ識別280
src/bytecode.rsバイトコードの読み取り/デコード320
src/decrypt.rsValueCryptorチェーン250
src/alu.rsALU演算の再構築200
src/opcode_table.rsオペコード管理180
src/bin/cli.rsCLIツール400