
HyperDBG調試器是一款開源,社區驅動的,管理型輔助,用戶模式和內核模式Windows調試器,重點是使用現代硬件技術。這是一個用於分析,模糊和倒轉的調試器。
您可以在Twitter或Mastodon上關注HyperDBG ,以獲取有關新版本的通知,或者加入任何HyperDBG組,您可以在其中詢問開發人員和開源逆轉逆轉愛好者,以幫助建立和使用HyperDBG。
HyperDBG的設計專注於使用現代硬件技術為辯論者的世界提供新功能。它通過使用Intel VT-X和EPT虛擬化已經運行的系統來在Windows的頂部運行。該調試器旨在不使用任何API和軟件調試機制,而是使用第二層頁面表(又稱擴展頁面表或EPT)來監視內核和用戶執行。
使用TLB拆分,並具有諸如測量代碼覆蓋範圍和通過功能監視所有MOV(S)的功能,使HyperDBG成為獨特的調試器。
儘管它具有新穎的功能,但HyperDBG試圖盡可能隱秘。它不會使用任何調試API進行調試窗口或任何應用程序,因此經典的反欺騙方法無法檢測到它。此外,它也可以抵抗時間增量方法的開發(例如,RDTSC/RDTSCP)來檢測管理程序的存在,因此使應用程序,包裝工,保護膜,惡意軟件,防治引擎等更難發現調試器。
您可以從發行版中下載最新的編譯二進製文件;否則,如果您想構建HyperDBG,則應用--recursive標誌克隆HyperDBG。
git clone --recursive https://github.com/HyperDbg/HyperDbg.git
請訪問build&install及其快速啟動,以詳細說明如何從HyperDBG開始。您還可以查看FAQ以獲取更多信息,或者如果您以前使用過其他本機訪問者,例如GDB,LLDB或WINDBG,則可以看到命令映射。
OpenSecurityTraining2的“使用HyperDBG(DBG3301)逆轉”教程系列,可在OST2的網站(首選)和YouTube上獲得,推薦使用並學習HyperDBG。它可以指導您使用HyperDBG的初始步驟,涵蓋基本概念,原理和調試功能,以及實踐示例以及HyperDBG獨有的眾多反向工程方法。
如果您有興趣了解管理程序和HyperDBG的內部設計和體系結構,則可以從Scratch教程中閱讀虛擬機管理程序。
如果您在工作中使用HyperDBG的組件之一,請考慮引用我們的論文。
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-EXIT透明度上的努力以及有關Chassing bugs in vyervisors中的錯誤。可在Awesome Repo中提供更多文章,帖子和資源,此外, Slides Repo提供了演示幻燈片以供進一步參考。
您可以閱讀有關HyperDBG的內部設計及其在文檔中的功能。這是一個頂級圖,顯示了HyperDBG的工作方式:
您可以編寫腳本以自動化調試之旅。 HyperDBG具有功能強大,快速且完全是內核端實現的腳本引擎。
對HyperDBG的貢獻非常感謝。我們已經列出了您可能會想到的潛在任務。
如果您想為HyperDBG做出貢獻,請閱讀《貢獻指南》。
HyperDBG及其所有子模型和存儲庫,除非另有指定許可,否則將根據GPLV3許可獲得許可。
依賴項是由自己的許可。