
HyperDBGデバッガーは、最新のハードウェアテクノロジーの使用に重点を置いた、オープンソース、コミュニティ主導のハイパーバイザーアシスト、ユーザーモード、カーネルモードWindowsデバッガーです。これは、分析、ファズ、逆転のために設計されたデバッガーです。
TwitterまたはMastodonでHyperDBGをフォローして新しいリリースについて通知するか、HyperDBGグループのいずれかに参加してください。そこでは、開発者やオープンソースの逆転愛好家にHyperDBGのセットアップと使用を支援するよう依頼できます。
HyperDBGは、最新のハードウェアテクノロジーを使用してデバッガーの世界に新機能を提供することに重点を置いて設計されています。 Intel VT-XとEPTを使用して、すでに実行されているシステムを仮想化することにより、Windowsの上で動作します。このデバッガーは、APIやソフトウェアのデバッグメカニズムを使用するのではなく、代わりに、カーネルとユーザーの両方の実行を監視するために、2番目のレイヤーページテーブル(拡張ページテーブルまたはEPT)を広範囲に使用します。
TLBスプリッティを使用し、コードのカバレッジを測定したり、すべてのMOV(S)を関数によるメモリに監視したりするなどの機能があるため、HyperDBGはユニークなデバッガーになります。
新しい特徴がありますが、HyperDBGは可能な限りステルスになろうとします。 WindowsやアプリケーションをデバッグするためにデバッグAPIを使用しないため、古典的な反抗防止方法は検出されません。また、ハイパーバイザーの存在を検出するために、タイムデルタメソッド(RDTSC/RDTSCPなど)の搾取に抵抗するため、アプリケーション、パッカー、保護者、マルウェア、アンチチートエンジンなどがデバイガーを発見することがはるかに困難になります。
リリースから最新のコンパイルされたバイナリファイルをダウンロードできます。それ以外の場合、HyperDBGを構築する場合は、 --recursiveフラグを使用してHyperDBGをクローンする必要があります。
git clone --recursive https://github.com/HyperDbg/HyperDbg.git
HyperDBGからの開始方法の詳細な説明については、ビルド&インストールとクイックスタートをご覧ください。詳細については、 FAQを見ることもできます。また、以前にGDB、LLDB、WindBGなどの他のネイティブデバッガーを使用した場合は、コマンドマップが表示されます。
OpenSecurityTraining2の「HyperDBG(DBG3301)の逆転」チュートリアルシリーズ( OST2のWebサイト(優先)およびYouTubeで入手できます。 HyperDBGを使用する最初のステップを案内し、重要な概念、原則、およびデバッグ機能をカバーし、HyperDBGに固有の実用的な例と多数のリバースエンジニアリング方法をカバーします。
ハイパーバイザーとHyperDBGの内部設計とアーキテクチャを理解することに興味がある場合は、スクラッチチュートリアルからハイパーバイザーを読むことができます。
作業でHyperDBGのコンポーネントの1つを使用した場合は、論文を引用することを検討してください。
1。HyperDBG:ハードウェアアシストデバッグの再発明(CCS'22) [arxiv]
@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}
}
2。反転機:メモリの仮定の再構築[arxiv]
@article{karvandi2024reversing,
title={The Reversing Machine: Reconstructing Memory Assumptions},
author={Karvandi, Mohammad Sina and Meghdadizanjani, Soroush and Arasteh, Sima and Monfared, Saleh Khalaj and Fallah, Mohammad K and Gorgin, Saeid and Lee, Jeong-A and van der Kouwe, Erik},
journal={arXiv preprint arXiv:2405.00298},
year={2024}
}
また、HyperDBGデバッガーの全体的なアーキテクチャ、技術的な困難、設計上の決定、内部、VMエキシットの透明性に関する取り組みに関する記事、およびハイパーバイザー内のバグの追跡に関するこの記事について説明するため、この記事を読むこともできます。より多くの記事、投稿、リソースがAwesome Repoで入手できます。さらに、スライドリポジトリはプレゼンテーションスライドを提供して、さらに参照してください。
HyperDBGの内部設計とドキュメントの機能について読むことができます。これは、HyperDBGの仕組みを示すトップレベルの図です。
スクリプトを作成して、デバッグジャーニーを自動化できます。 HyperDBGには、強力で高速で、完全にカーネル側に実装されたスクリプトエンジンがあります。
HyperDBGに貢献することは非常に高く評価されています。私たちはあなたが貢献することに興味があるかもしれない潜在的なタスクのリストを作成しました。
HyperDBGに貢献したい場合は、寄付ガイドをお読みください。
HyperDBG 、およびそのすべてのサブモジュールとレポは、ライセンスが特に指定されていない限り、 GPLV3ライセンスに基づいてライセンスされています。
依存関係は独自のライセンスを取得します。