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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
vmp2 — エミュレーションベースのVMエクスプローラ、ハンドラプロファイラ、および脱仮想化用の実験的LLVMリコンパイラを用いて、VMProtect 2で保護されたバイナリのアンパックと難読化解除を行います。 | Kitploit
ツール/GitHubGitHub/aftermathlabs/vmp2
静的コード分析 (SAST)コード分析動的コード分析 (DAST)リバースエンジニアリングマルウェア分析バイナリ解析Archived
GitHubaftermathlabs/vmp2

vmp2

エミュレーションベースのVMエクスプローラ、ハンドラプロファイラ、および脱仮想化用の実験的LLVMリコンパイラを用いて、VMProtect 2で保護されたバイナリのアンパックと難読化解除を行います。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

はじめに

このリポジトリは、VMProtect 2 で保護されたバイナリを扱うためのレガシーツール群です。
これらのツールは、VMProtect 2 で保護されたソフトウェアのアンパッキング、解析、および実験的な**仮想化解除(devirtualization)**を可能にします。このコレクションの中核となるのは vmprofiler で、他のすべてのツールで使用される基礎的なロジックを提供するユーティリティライブラリです。VMハンドラ、ハンドラテーブル、トランスフォームなど、VMProtect 2 の主要コンポーネントを特定する役割を担います。

警告

この4年以上前のプロジェクトから得た教訓は、仮想化解除に興味がある人々に伝えられるべきものです。

このプロジェクトは、個々のVMハンドラを特定しようとするものです。このアプローチは脆く、スケールせず、仮想マシンアーキテクチャの変更(複数ハンドラの連携、複雑なハンドラなど)によって無効化され得ます。その代わりに、私が提唱するのは、VM固有の難読化解除ロジックを最小限に抑えた、段階的なリフティングと制御フロー復元戦略です。Saturn、Colton による Dna、Triton、Mergen などのツールは、VM固有のハンドラ特定をほとんどまたはまったく行わずに VMProtect の難読化解除に成功しています。このリポジトリは VMProtect 2 のアーキテクチャを文書化し、注意喚起としての役割を果たします。つまり、仮想マシン固有のハンドラの特定に大きく依存する仮想化解除ツールの構築は避けるべきです。

VMProtect の仮想化解除に対する半汎用的なアプローチには、ロード/ストア伝播、セクション定数伝播、DCE、およびその他のいくつかの単純な最適化をサポートする堅牢なフレームワークが必要です。多くの人は LLVM を使用してネイティブへ再コンパイルしようと試みますが、私はこの方法では常に満足のいく結果が得られないと考えています。私たちは独自のフレームワーク blare2 を持っており、これはクリーンな 1:1 のリフトおよびローワリング機能を提供し、私たちの難読化解除の目的に活用しています。難読化解除に関するコンサルティングサービスにご興味があれば、スケジュールの都合が付けば提供可能です。


ツール概要

  • vmemu
    Unicorn Engine ベースの仮想マシン探索ツールです。 指定された vmenter 内で保護されたプログラムのアンパッキングと制御フローの解析が可能です。
    このツールは、指定された VM エントリの制御フローグラフを含む .vmp2 ファイルを生成します。
    生成された .vmp2 ファイルは、vmdevirt に渡すことで、関数をネイティブ x86 に再コンパイルし、元のバイナリに再統合できます。これは単に関数内の単一経路しか発見しない単純なトレーサではないことに注意してください。実際には仮想的な jcc を特定し、仮想化されたすべての制御フローを探索します。

  • vmdevirt
    .vmp2 ファイル用の実験的な LLVM ベースの再コンパイラです。
    機能はしますが、非常に実験的で不安定とみなされており、このアプローチは一般的に推奨されません。

  • vmassembler
    ユーザー定義の仮想マシン操作をエンコードするための実験的なアセンブラです。
    このプロジェクトは、VMProtect 2 仮想マシンアーキテクチャに対する深い技術的理解を示しています。

  • vmhook
    実行時に VMProtect 2 仮想マシンにフックするためのツールで、個々の VM ハンドラの詳細なイントロスペクションを可能にします。

  • vmprofiler
    他のすべてのツールを支える中核ユーティリティライブラリです。
    VM ハンドラのパターンマッチング、ハンドラテーブルの抽出、デッドコード除去(DCE)、その他の必須解析ルーチンを含みます。

  • vmprofiler-cli
    vmprofiler 用のコマンドラインインターフェースで、抽出された情報をテキスト形式で表示・検査できます。

  • vmprofiler-qt
    VMProtect 2 バイトコード用の Qt ベースのグラフィカル逆アセンブラで、仮想化されたコードの対話的かつ視覚的な探索を提供します。


VMProtect 2 アンパッカー

このページの手順 に従ってください。

ビルド手順

前提条件

  • CMake ≥ 3.11
  • C++ コンパイラ
  • vmhook 用の Visual Studios 2022
  • LLVM およびその他のビルド成果物用に少なくとも 50GB の空き容量

vmassembler、vmemu、vmprofiler、vmprofiler-cli の設定:

root@kitploit:~
cmake -B build
cmake --build build

vmdevirt を使用する場合(LLVM をダウンロードしてビルドします!):

root@kitploit:~
cmake -B build -DBUILD_VMDEVIRT=ON -DLLVM_BUILD_TYPE=Release
cmake --build build

vmprofiler-qt を使用する場合:

root@kitploit:~
cmake -B build -DBUILD_VMPROFILER_QT=ON
cmake --build build

両方のオプションモジュール:

root@kitploit:~
cmake -B build -DBUILD_VMDEVIRT=ON -DBUILD_VMPROFILER_QT=ON -DLLVM_BUILD_TYPE=Release
cmake --build build

法的免責事項

これらのツールは、教育および研究目的でのみ提供されます。違法行為、不正アクセス、DMCA やその他の法律の違反に使用されるべきではありません。ツール自体は DMCA 規制に違反しません。すべての成果は私のオリジナル作品であり、これらのツールのユーザーが行ういかなる行為も、そのユーザー自身の責任であり、作者の行為や意図を反映するものではありません。

ツールをダウンロード