アップデート一覧に戻る
New releaseAug 3, 2026

HyperDbg v0.23

最先端のネイティブデバッグツール

共有

Website Documentation Doxygen Published Academic Researches License

HyperDbg Debugger

HyperDbg Debugger
HyperDbg Debugger は、Windows 向けのオープンソースのハイパーバイザ支援型デバッガです(Linux 対応は現在開発中です!)。ユーザーモードとカーネルモード(ネイティブ)の両方のデバッグをサポートしています。リバースエンジニアリング、ファジング、そして最新のハードウェア仮想化とトレーシング機能を活用した高度なシステム解析のために作られています。

HyperDbg の新リリースに関する通知を受け取るには、Twitter または Mastodon をフォローしてください。また、HyperDbg の各種グループに参加して、開発者やオープンソースのリバースエンジニアリング愛好家に、HyperDbg のセットアップや使用方法について質問することもできます。

説明

HyperDbg は、従来のデバッガを超える機能を実現するために、最新のハードウェア仮想化技術を基盤として構築されています。Intel VT-x と Extended Page Tables(EPT)を使用して、稼働中のシステムを仮想化することで、オペレーティングシステムの上で動作します。Intel Processor Trace(Intel PT)などの高度なトレーシング技術と仮想化を組み合わせることで、HyperDbg は強力なトレーシング機能と Virtual Machine Introspection(VMI)機能を提供します。

HyperDbg Debugger

主な機能

HyperDbg は、EPTベースの隠しフック の複数の種類を含む、幅広い高度なデバッグ機能を提供します。特定のアドレス範囲におけるメモリの読み取り、書き込み、実行を監視するためのハードウェアデータブレークポイントをエミュレートでき、オペレーティングシステムと対象アプリケーションの両方に対して透過的です。ハードウェアデバッグレジスタとは異なり、これらの監視機能は、利用可能なデバッグレジスタの数やサイズの制約を受けません。さらに、HyperDbg は、ユーザーモードからカーネルモードへの移行(システムコール、heaven's gate、フォールト、例外、割り込みなど)、カーネルからデバイスドライバ、カーネルモードからユーザーモードへの復帰といった、異なる特権レベル間での実行の追跡が可能であり、実行フロー全体の包括的な分析を実現します。

さらに、HyperDbg はシステムコールフック、ハードウェアトレーシング機能による制御フロートレーシング、そしてメモリマップドI/O(MMIO)とポートマップドI/O(PMIO)の両方を含むI/O操作の包括的な監視をサポートし、デバイスとのやり取りや外部周辺機器の詳細な分析を可能にします。

その他にも、HyperDbg には、リバースエンジニアリング、マルウェア解析、低レベルプログラム解析用に特別に設計された、多数の追加イベントが含まれています。サポートされているイベントの完全なリストとそのドキュメントについては、全機能一覧を参照してください。

HyperDbg は、可能な限りステルスに動作するように設計されています。オペレーティングシステムやアプリケーションのデバッグにデバッグAPIを使用しないため、従来のアンチデバッグ手法では検出されません。また、ステルス機能を強化するために設計された専用モジュールも含まれています。このモジュールは、ハイパーバイザやデバッガの存在を検出しようとする試みを監視し、まず報告し、その後、そのような検出メカニズムを軽減または回避するためのさまざまな技術を適用します。すべてのシナリオで完全な透過性を保証することはできませんが、これらの機能により、HyperDbg の検出が非常に困難になり、アプリケーション、パッカー、ソフトウェアプロテクタ、マルウェア、アンチチートシステム、その他のセキュリティメカニズムがその存在を識別することがはるかに難しくなります。

なぜ HyperDbg なのか?

HyperDbg は、従来のデバッガと比較してセットアップと使用が難しく、より深い低レベルシステムの知識も必要です。しかし、次の2つの大きな利点があります。

  1. システム全体とOSの完全な制御
    HyperDbg はハイパーバイザレベルで動作するため、従来のデバッガでは不可能な強力な機能を提供します。これにより、ハードウェア支援の機能を高度なリバースエンジニアリングやデバッグシナリオに活用できます。

  2. ステルス性と検出耐性
    HyperDbg は標準のOSデバッグAPIに依存していないため、一般的に検出がはるかに困難です(不可能ではありません)。そのため、アンチデバッグプロテクションに対処する場合に有力な選択肢となります。

これらの利点により、従来のデバッガが提供できる範囲を超えた、まったく新しいデバッグおよびリバースエンジニアリング技術が開拓されます。

ビルドとインストール

最新のコンパイル済みバイナリファイルは、releases からダウンロードできます。それ以外で HyperDbg をビルドする場合は、--recursive フラグを付けて HyperDbg をクローンする必要があります。``` git clone --recursive https://github.com/HyperDbg/HyperDbg.git

**HyperDbg** の始め方の詳細については、**[ビルドとインストール](https://docs.hyperdbg.org/getting-started/build-and-install)** および **[クイックスタート](https://docs.hyperdbg.org/getting-started/quick-start)** をご覧ください。詳細については **[FAQ](https://docs.hyperdbg.org/getting-started/faq)** もご覧いただけます。また、GDB、LLDB、WinDbg などの他のネイティブデバッガを以前に使用したことがある場合は、[コマンドマップ](https://hyperdbg.github.io/commands-map) をご覧ください。

## チュートリアル

**OpenSecurityTraining2の"Reversing with HyperDbg (Dbg3301)**" チュートリアルシリーズは、[**OST2 のウェブサイト**](https://ost2.fyi/Dbg3301) (_推奨_) と [**YouTube**](https://www.youtube.com/playlist?list=PLUFkSN0XLZ-kF1f143wlw8ujlH2A45nZY) で公開されており、HyperDbg を始めて学習するのに推奨される方法です。このシリーズでは、HyperDbg の使用初期ステップを解説し、重要な概念、原理、デバッグ機能に加えて、実践的な例と HyperDbg 独自の数多くのリバースエンジニアリング手法を紹介しています。

ハイパーバイザと HyperDbg の内部設計やアーキテクチャを理解することに興味がある場合は、[**Hypervisor From Scratch**](https://rayanfam.com/tutorials) チュートリアルをご覧ください。

## 出版物

**HyperDbg** のコンポーネントを研究や作業で使用する場合は、私たちの論文の引用を検討してください。

**1. [HyperDbg: Reinventing Hardware-Assisted Debugging (CCS'22)](https://dl.acm.org/doi/abs/10.1145/3548606.3560649)** [[arXiv](https://arxiv.org/abs/2207.05676)]```
@inproceedings{karvandi2022hyperdbg,
  title={HyperDbg: Reinventing Hardware-Assisted Debugging},
  author={Karvandi, Mohammad Sina and Gholamrezaei, MohammadHosein and Khalaj Monfared, Saleh and Meghdadizanjani, Soroush and Abbassi, Behrooz and Amini, Ali and Mortazavi, Reza and Gorgin, Saeid and Rahmati, Dara and Schwarz, Michael},
  booktitle={Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security},
  pages={1709--1723},
  year={2022}
}
HyperDbg を基盤とした他の論文...

カテゴリ