
HyperDbg v0.22
Outils de débogage natifs de pointe
HyperDbg Debugger

HyperDbg Debugger est un débogueur open-source assisté par hyperviseur pour Windows (le support de Linux est actuellement en développement !) avec prise en charge du débogage en mode utilisateur et en mode noyau (natif). Il est conçu pour le reverse engineering, le fuzzing et l'analyse avancée de systèmes à l'aide de fonctionnalités modernes de virtualisation matérielle et de traçage.
Vous pouvez suivre HyperDbg sur Twitter ou Mastodon pour être informé des nouvelles versions, ou rejoindre l'un des groupes HyperDbg, où vous pouvez demander de l'aide aux développeurs et aux passionnés de reverse engineering open-source pour installer et utiliser HyperDbg.
Description
HyperDbg est conçu autour de technologies modernes de virtualisation matérielle pour offrir des capacités allant au-delà de celles des débogueurs traditionnels. Il s'exécute au-dessus du système d'exploitation en virtualisant un système déjà en cours d'exécution à l'aide d'Intel VT-x et des tables de pages étendues (EPT). En combinant la virtualisation avec des technologies avancées de traçage telles que l'Intel Processor Trace (Intel PT), HyperDbg fournit de puissantes capacités de traçage et de Virtual Machine Introspection (VMI).
Capacités principales
HyperDbg fournit une large gamme de fonctionnalités avancées de débogage, notamment plusieurs types de hooks cachés basés sur l'EPT. Il peut émuler des points d'arrêt matériels sur données pour surveiller la mémoire, les lectures, écritures et exécutions à des plages d'adresses spécifiques, tout en restant transparent vis-à-vis du système d'exploitation et des applications cibles. Contrairement aux registres de débogage matériels, ces mécanismes de surveillance ne sont pas limités par le nombre de registres de débogage disponibles ni par des contraintes de taille. De plus, HyperDbg est capable de suivre l'exécution à travers différents niveaux de privilèges, y compris les transitions du mode utilisateur vers le mode noyau (par exemple, via les appels système, heaven's gate, les fautes, les exceptions et les interruptions), du noyau vers les pilotes de périphériques, et du mode noyau vers le mode utilisateur, permettant une analyse complète de l'ensemble du flux d'exécution.
De plus, HyperDbg prend en charge le hooking des appels système, le traçage du flux de contrôle via des fonctionnalités matérielles de traçage, et une surveillance complète des opérations d'E/S, incluant à la fois les E/S mappées en mémoire (MMIO) et les E/S mappées sur ports (PMIO), permettant une analyse détaillée des interactions avec les périphériques et les équipements externes.
Au-delà de cela, HyperDbg comprend une vaste collection d'événements supplémentaires spécialement conçus pour le reverse engineering, l'analyse de malwares et l'analyse de programmes de bas niveau. Pour une liste complète des événements pris en charge et de leur documentation, consultez la liste complète des fonctionnalités.
HyperDbg est conçu pour opérer de la manière la plus furtive possible. Il n'utilise aucune API de débogage pour déboguer le système d'exploitation ou une application, de sorte que les méthodes classiques d'anti-débogage ne le détecteront pas. Il comprend également un module spécialisé conçu pour renforcer ses capacités de furtivité. Ce module surveille les tentatives de détection de la présence d'un hyperviseur ou d'un débogueur et applique diverses techniques pour d'abord signaler, puis atténuer ou contourner ces mécanismes de détection. Bien qu'une transparence totale ne puisse être garantie dans tous les scénarios, ces fonctionnalités augmentent considérablement la difficulté de détection de HyperDbg, rendant nettement plus difficile pour les applications, les packers, les protecteurs de logiciels, les malwares, les systèmes anti-triche et autres mécanismes de sécurité d'identifier sa présence.
Pourquoi HyperDbg ?
HyperDbg est plus difficile à installer et à utiliser, et demande également une connaissance plus approfondie des systèmes de bas niveau par rapport aux débogueurs traditionnels. Cependant, il offre deux avantages majeurs :
-
Contrôle complet du système et de l'OS
HyperDbg opère au niveau de l'hyperviseur, vous offrant des capacités puissantes tout simplement impossibles avec les débogueurs classiques. Cela vous permet de tirer parti de fonctionnalités assistées par le matériel pour des scénarios avancés de reverse engineering et de débogage. -
Furtivité et résistance à la détection
Étant donné que HyperDbg ne dépend pas des API de débogage standard de l'OS, il est généralement beaucoup plus difficile (mais pas impossible) à détecter. Cela en fait un choix solide lorsque vous travaillez contre des protections anti-débogage.
Ces avantages ouvrent des techniques entièrement nouvelles de débogage et de reverse engineering qui vont au-delà de ce que les débogueurs conventionnels peuvent offrir.
