
Hyperdbg Debugger ist eine Open-Source-, Community-gesteuerte, hypervisorunterstützte, Benutzer-Mode- und Kernel-Mode-Windows-Debugger mit Schwerpunkt auf der Verwendung moderner Hardware-Technologien. Es ist ein Debugger, der für die Analyse, Fuzzing und Umkehrung entwickelt wurde.
Sie können HyperDBG auf Twitter oder Mastodon folgen, um über neue Veröffentlichungen informiert zu werden, oder sich einer der HyperDBG-Gruppen anschließen, in der Sie Entwickler und Open-Source-Umkehrbegeisterte um die Einrichtung und Verwendung von HyperDBG bitten können.
HyperDBG hat sich darauf konzentriert, moderne Hardware -Technologien zu verwenden, um der Welt der Debugger neue Funktionen zu bieten. Es arbeitet über Windows, indem ein bereits laufendes System mit Intel VT-X und EPT virtualisiert wird. Dieser Debugger zielt darauf ab, keine API- und Software -Debugging -Mechanismen zu verwenden. Stattdessen verwendet er die zweite Schicht -Seitentabelle (auch bekannt als Extended Seitentabelle oder EPT) ausgiebig, um sowohl Kernel- als auch Benutzerausführungen zu überwachen.
Die Verwendung von TLB-Splitting und Funktionen wie Messung der Codeabdeckung und Überwachung aller MOV (s) bis/vom Speicher durch eine Funktion macht HyperDBG zu einem einzigartigen Debugger.
Obwohl es neuartige Merkmale hat, versucht Hyperdbg, so heimlich wie möglich zu sein. Es wird keine Debugging-APIs verwendet, um Windows oder eine Anwendung zu debuggen, sodass klassische Anti-Debugging-Methoden es nicht erkannt werden. Außerdem widersteht es der Ausbeutung von Zeitdelta-Methoden (z. B. RDTSC/RDTSCP), um das Vorhandensein von Hypervisoren zu erkennen, und erschwert es daher für Anwendungen, Packer, Beschützer, Malware, Anti-Chat-Motoren usw., um den Debugger zu entdecken.
Sie können die neuesten kompilierten Binärdateien aus Veröffentlichungen herunterladen. Andernfalls sollten Sie Hyperdbg mit dem --recursive Flag klonen, wenn Sie Hyperdbg erstellen möchten.
git clone --recursive https://github.com/HyperDbg/HyperDbg.git
Bitte besuchen Sie Build & Installation und schnelle Start, um eine detaillierte Erklärung zu erhalten, wie Sie mit HyperDBG beginnen können. Sie können auch die FAQ für weitere Informationen sehen oder wenn Sie zuvor andere native Debugger wie GDB, LLDB oder WINDBG verwendet haben, können Sie die Befehlskarte sehen.
Die Tutorial -Serie der OpenSecurityTraining2 "Umkehrung mit HyperDBG (DBG3301) ", erhältlich auf der OST2 -Website ( bevorzugt ) und YouTube ist die empfohlene Möglichkeit, mit Hyperdbg zu beginnen und zu lernen. Es führt Sie durch die ersten Schritte der Verwendung von HyperDBG, abdeckt wesentliche Konzepte, Prinzipien und Debugging -Funktionen sowie praktische Beispiele und zahlreiche Reverse Engineering -Methoden, die für Hyperdbg einzigartig sind.
Wenn Sie das interne Design und die Architektur von Hypervisors und HyperDBG verstehen möchten, können Sie den Hypervisor von Grundkrophen vorhandenen.
Wenn Sie eine der Komponenten von Hyperdbg in Ihrer Arbeit verwenden, sollten Sie unsere Papiere zitieren.
1. HYPERDBG: Neuerfindung auf Hardware-unterstütztes Debugging (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. Die Umkehrmaschine: rekonstruieren Speicherannahmen [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}
}
Sie können diesen Artikel auch lesen, wie er die allgemeine Architektur, technische Schwierigkeiten, Entwurfsentscheidungen und Interna von HyperDBG-Debugger, diesen Artikel über unsere Bemühungen zur Transparenz von VM-Exit und diesen Artikel über die Verfolgung von Fehler innerhalb von Hypervisoren beschreibt. Weitere Artikel, Beiträge und Ressourcen sind im Awesome Repo verfügbar, und außerdem bietet das Slides Repo Präsentationsfolien für weitere Referenzen.
Sie können über das interne Design von HyperDBG und seine Funktionen in der Dokumentation lesen. Hier ist ein Diagramm der obersten Ebene, das zeigt, wie Hyperdbg funktioniert:
Sie können Ihre Skripte schreiben, um Ihre Debugging -Reise zu automatisieren. Hyperdbg hat eine leistungsstarke, schnelle und vollständig implementierte Skript-Engine von Kernel.
Der Beitrag zu HyperDBG ist sehr geschätzt. Wir haben eine Liste potenzieller Aufgaben erteilt, an denen Sie möglicherweise interessiert sind.
Wenn Sie zu HyperDBG beitragen möchten, lesen Sie bitte den Beitragshandbuch.
Hyperdbg und alle seine Submodules und Repos, sofern keine Lizenz angegeben ist, werden gemäß GPLV3 -Lizenz lizenziert.
Abhängigkeiten werden von ihren eigenen lizenziert.