
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许可获得许可。
依赖项是由自己的许可。