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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
vmpdump — VTILを搭載した動的VMPダンパーおよびインポートフィクサー。 | Kitploit
ツール/GitHubGitHub/0xnobody/vmpdump
動的分析 (サンドボックス)エクスプロイトリバースエンジニアリングデバッガバイナリ解析
GitHub0xnobody/vmpdump

vmpdump

VTILを搭載した動的VMPダンパーおよびインポートフィクサー。

リポジトリを見る
1.4k2315年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

VMPDump

VTILを利用した動的VMPダンパーおよびインポートフィクサーです。VMProtect 3.X x64に対応しています。

BeforeとAfter

使い方

VMPDump.exe <Target PID> "<Target Module>" [-ep=<Entry Point RVA>] [-disable-reloc]

引数:

  • <Target PID>: ターゲットプロセスのID(10進数または16進数)
  • <Target Module>: ダンプして修正するモジュールの名前。プロセスイメージモジュールを指定する場合は空文字列("")を使用可能。
  • [-ep=<Entry Point RVA>]: オプションで指定するエントリポイントRVA(16進数)。VMPDumpはこの値でオプションヘッダのエントリポイントを上書きします。
  • [-disable-reloc]: 出力イメージでリロケーションが削除されたことをマークするようVMPDumpに指示するオプション設定。これにより、ダンプされたImageBaseにイメージが強制的にロードされます。実行可能なダンプが必要な場合に便利です。

VMProtectの初期化とアンパックは、VMPDumpを実行する前にターゲットプロセスで完了している必要があります。つまり、OEP(オリジナルエントリポイント)以降に達している必要があります。 ダンプされ修正されたイメージは、プロセスイメージモジュールディレクトリに <Target Module Name>.VMPDump.<Target Module Extension> という名前で作成されます。

動作の仕組み

VMProtectはすべてのインポートコールやjmpに対してスタブを注入します。これらのスタブは .vmpX セクション内の「難読化された」サンクを解決し、固定定数を加算して「復号化」します。コールやジャンプ自体はその後、ret命令でディスパッチされます。

VMPDumpはすべての実行可能セクションをスキャンしてこれらのスタブを探し、VTIL x64リフターを使用してVTILにリフトします。その後、これらのスタブに対して解析を実行し、どの種類のコールを置き換えるべきか、どのバイトを上書きすべきかを決定します。

すべてのコールが取得されると、VMPDumpは新しいインポートテーブルを作成し、既存のIATにサンクを追加します。VMPインポートスタブへのコールは、これらのサンクへの直接コールに置き換えられます。

変異されたルーチンでは、VMPインポートスタブコールを直接サンクコールに置き換えるのに十分なバイト数がない場合があることに注意してください(後者は1バイト大きいため)。そのような場合、セクションが拡張され、インポートサンクにジャンプするスタブが注入されます。そして、VMPインポートスタブコールは、その注入されたスタブへの5バイトの相対コールまたはjmpに置き換えられます。

ビルド(CMake)

root@kitploit:~
mkdir build && cd build
cmake -G "Visual Studio 16 2019" ..
cmake --build . --config Release

ビルド(Visual Studio)

VSでのビルドは、vcxproj内のインクルード/ライブラリディレクトリをVTIL-NativeLifers/VTIL-Core/Keystone/Capstoneに置き換えるだけです。

プロジェクトにはC++20が必要です。

問題点と制限事項

コードセクションが線形にスキャンされるため、特に高度に変異され難読化されたコードでは、一部のインポートスタブコールがスキップされ、解決されない可能性があります。ただし、VMPDumpはVMProtectの変異の不整合の大部分に対する回避策を含んでいるため、高度に変異されたコードでも良好な結果を生成できるはずです。

この問題に遭遇した場合は、関連情報とともにIssueを作成してください。確認いたします。

ライセンス

GPL-3.0ライセンスの下で提供されています。いかなる種類の保証も提供されません。

ツールをダウンロード