Volver a actualizaciones
Nuevo releaseJul 21, 2026

HyperDbg v0.22

Herramientas de depuración nativas de última generación

Compartir

Website Documentation Doxygen Published Academic Researches License

HyperDbg Debugger

HyperDbg Debugger
HyperDbg Debugger es un depurador de código abierto asistido por hipervisor para Windows (¡el soporte para Linux está actualmente en desarrollo!) con soporte para depuración tanto en modo usuario como en modo kernel (nativo). Está diseñado para ingeniería inversa, fuzzing y análisis avanzado de sistemas mediante funciones modernas de virtualización de hardware y rastreo.

Puedes seguir a HyperDbg en Twitter o Mastodon para enterarte de los nuevos lanzamientos, o unirte a cualquiera de los grupos de HyperDbg, donde puedes pedir ayuda a los desarrolladores y a los entusiastas de la ingeniería inversa de código abierto para configurar y usar HyperDbg.

Descripción

HyperDbg está construido sobre tecnologías modernas de virtualización de hardware para ofrecer capacidades más allá de las de los depuradores tradicionales. Se ejecuta sobre el sistema operativo virtualizando un sistema ya en funcionamiento mediante Intel VT-x y Tablas de Páginas Extendidas (EPT). Al combinar la virtualización con tecnologías avanzadas de rastreo como Intel Processor Trace (Intel PT), HyperDbg ofrece potentes capacidades de rastreo y de Virtual Machine Introspection (VMI).

HyperDbg Debugger

Capacidades principales

HyperDbg ofrece una amplia gama de funciones avanzadas de depuración, incluidos varios tipos de hooks ocultos basados en EPT. Puede emular puntos de interrupción de datos por hardware para monitorear memoria: lecturas, escrituras y ejecuciones en rangos de direcciones específicos, permaneciendo transparente tanto para el sistema operativo como para las aplicaciones objetivo. A diferencia de los registros de depuración de hardware, estas facilidades de monitoreo no están limitadas por la cantidad de registros de depuración disponibles ni por restricciones de tamaño. Además, HyperDbg es capaz de rastrear la ejecución a través de diferentes niveles de privilegio, incluidas las transiciones del modo usuario al modo kernel (por ejemplo, mediante llamadas al sistema, heaven's gate, fallos, excepciones e interrupciones), del kernel a los controladores de dispositivos, y del modo kernel de vuelta al modo usuario, lo que permite un análisis exhaustivo de todo el flujo de ejecución.

Además, HyperDbg admite enganche de llamadas al sistema, rastreo de flujo de control mediante funciones de rastreo por hardware, y monitoreo integral de operaciones de E/S, incluyendo tanto E/S mapeada en memoria (MMIO) como E/S mapeada por puertos (PMIO), lo que permite un análisis detallado de las interacciones con dispositivos y periféricos externos.

Además, HyperDbg incluye una gran colección de eventos adicionales diseñados específicamente para ingeniería inversa, análisis de malware y análisis de programas de bajo nivel. Para obtener una lista completa de los eventos admitidos y su documentación, consulta la lista completa de funciones.

HyperDbg está diseñado para operar de la forma más sigilosa posible. No utiliza ninguna API de depuración para depurar el sistema operativo ni ninguna aplicación, por lo que los métodos clásicos de anti-depuración no lo detectarán. También incluye un módulo especializado diseñado para mejorar sus capacidades de sigilo. Este módulo supervisa los intentos de detectar la presencia de un hipervisor o depurador y aplica diversas técnicas para, en primer lugar, informar y luego mitigar o evadir dichos mecanismos de detección. Aunque no se puede garantizar una transparencia total en todos los escenarios, estas funciones aumentan significativamente la dificultad de detectar HyperDbg, haciendo que sea sustancialmente más difícil para aplicaciones, empaquetadores, protectores de software, malware, sistemas anti-trampas y otros mecanismos de seguridad identificar su presencia.

¿Por qué HyperDbg?

HyperDbg es más difícil de configurar y usar, y también requiere un conocimiento más profundo del sistema de bajo nivel en comparación con los depuradores tradicionales. Sin embargo, ofrece dos grandes ventajas:

  1. Control total del sistema y del SO
    HyperDbg opera a nivel de hipervisor, lo que te brinda capacidades potentes que simplemente no son posibles con los depuradores clásicos. Esto te permite aprovechar funciones asistidas por hardware para escenarios avanzados de ingeniería inversa y depuración.

  2. Sigilo y resistencia a la detección
    Dado que HyperDbg no depende de las API de depuración estándar del SO, generalmente es mucho más difícil (aunque no imposible) de detectar. Esto lo convierte en una opción sólida cuando se trabaja contra protecciones anti-depuración.

Estas ventajas abren técnicas de depuración e ingeniería inversa completamente nuevas que van más allá de lo que los depuradores convencionales pueden ofrecer.

Compilación e instalación

Puedes descargar los últimos archivos binarios compilados desde releases; de lo contrario, si quieres compilar HyperDbg, debes clonar HyperDbg con la opción --recursive.``` git clone --recursive https://github.com/HyperDbg/HyperDbg.git

Por favor, visita **[Build & Install](https://docs.hyperdbg.org/getting-started/build-and-install)** y **[Quick Start](https://docs.hyperdbg.org/getting-started/quick-start)** para obtener una explicación detallada de cómo empezar con **HyperDbg**. También puedes ver la **[FAQ](https://docs.hyperdbg.org/getting-started/faq)** para obtener más información, o si anteriormente usaste otros depuradores nativos como GDB, LLDB o WinDbg, puedes ver el [mapa de comandos](https://hyperdbg.github.io/commands-map).

## Tutoriales

La serie de tutoriales de **OpenSecurityTraining2 "Reversing with HyperDbg (Dbg3301)**", disponible en [**el sitio web de OST2**](https://ost2.fyi/Dbg3301) (_preferido_) y [**YouTube**](https://www.youtube.com/playlist?list=PLUFkSN0XLZ-kF1f143wlw8ujlH2A45nZY) es la forma recomendada de comenzar con HyperDbg y aprenderlo.

Si estás interesado en comprender el diseño interno y la arquitectura de los hipervisores y de HyperDbg, puedes leer los tutoriales [**Hypervisor From Scratch**](https://rayanfam.com/tutorials).

## Publicaciones

Si usas uno de los componentes de **HyperDbg** en tu trabajo, por favor considera citar nuestros artículos.

**1. [HyperDbg: Reinventing Hardware-Assisted Debugging (CCS'22)](https://dl.acm.org/doi/abs/10.1145/3548606.3560649)** [[arXiv](https://arxiv.org/abs/2207.05676)]```
@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}
}
Otro artículo basado en HyperDbg...

2. hwdbg: Depuración de hardware como software (EuroSec'25) [PDF]``` @inproceedings{karvandi2025hwdbg, title={hwdbg: Debugging Hardware Like Software}, author={Karvandi, Mohammad Sina and Meghdadizanjani, Soroush and Monfared, Saleh Khalaj and van der Kouwe, Erik and Slowinska, Asia}, booktitle={Proceedings of the 18th European Workshop on Systems Security}, pages={56--62}, year={2025} }

**3. [HyperEvade: Contrarrestando técnicas anti-depuración y mejorando la transparencia en la virtualización anidada usando HyperDbg (DEBT'25)](https://www.jot.fm/contents/issue_2026_01/a8.html)** [[PDF](https://www.jot.fm/issues/issue_2026_01/a8.pdf)]```
@article{ruytenberg2026hyperevade,
  title={HyperEvade: Countering Anti-Debugging Techniques and Enhancing Transparency in Nested Virtualization using HyperDbg},
  author={Ruytenberg, Bj{\"o}rn and Karvandi, Mohammad Sina},
  journal={Journal of Object Technology},
  volume={25},
  number={1},
  pages={1--3},
  year={2026},
  publisher={Association Internationale pour les Technologies Objets}
}

4. Agujero Digital: Evadiendo soluciones comerciales de DRM de audio con DReaMcatcher (EuroSys'26) [PDF]``` @inproceedings{ruytenberg2026digital, title={Digital Hole: Bypassing Commercial Audio DRM Solutions with DReaMcatcher}, author={Ruytenberg, Bj{"o}rn and Karvandi, Mohammad Sina and Bos, Herbert and van der Kouwe, Erik and Slowinska, Asia}, booktitle={Proceedings of the 21st European Conference on Computer Systems}, pages={484--496}, year={2026} }

**5. [TRM: Un marco eficiente basado en hipervisor para el análisis de malware y la reconstrucción de memoria (AsiaCCS'26)](https://dl.acm.org/doi/10.1145/3779208.3785293)** [[PDF](https://dl.acm.org/doi/pdf/10.1145/3779208.3785293)]```
@inproceedings{karvandi2026trm,
  title={TRM: An Efficient Hypervisor-Based Framework For Malware Analysis and Memory Reconstruction},
  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 Slowinska, Asia and van der Kouwe, Erik},
  booktitle={Proceedings of the ACM Asia Conference on Computer and Communications Security},
  pages={68--82},
  year={2026}
}

También puedes leer este artículo que describe la arquitectura general, las dificultades técnicas, las decisiones de diseño y los internals del Depurador HyperDbg, este artículo sobre nuestros esfuerzos en la transparencia de vm-exit, este artículo sobre la caza de errores dentro de los hipervisores, y este artículo sobre las nuevas técnicas de ingeniería inversa introducidas en HyperDbg. Hay más artículos, publicaciones y recursos disponibles en el repositorio awesome y, además, el repositorio slides proporciona diapositivas de presentaciones como referencia adicional.

Características Únicas

  • Depurador de modo kernel avanzado basado en hipervisor [enlace][enlace][enlace]
  • Hook EPT clásico (Punto de interrupción oculto) [enlace][enlace][enlace]
  • Hook EPT en línea (Inline Hook) [enlace][enlace]
  • Monitor de memoria para R/W (Emulando registros de depuración por hardware sin limitaciones) [enlace][enlace][enlace]
  • Hook de SYSCALL (Deshabilitar EFER y manejar #UD) [enlace][enlace][enlace]
  • Hook de SYSRET (Deshabilitar EFER y manejar #UD) [enlace][enlace]
  • Hook y monitor de CPUID [enlace][enlace]
  • Hook y monitor de RDMSR [enlace][enlace]
  • Hook y monitor de WRMSR [enlace][enlace]
  • Hook y monitor de RDTSC/RDTSCP [enlace]
  • Hook y monitor de RDPMC [enlace]
  • Hook y monitor de VMCALL [enlace]
  • Hook y monitor de registros de depuración [enlace]
  • Hook y monitor de puertos de E/S (Instrucción IN) [enlace][enlace]
  • Hook y monitor de puertos de E/S (Instrucción OUT) [enlace][enlace]
  • Monitor MMIO [enlace]
  • Monitor de excepciones (IDT < 32) [enlace][enlace][enlace]
  • Monitor de interrupciones externas (IDT > 32) [enlace][enlace][enlace]
  • Ejecución de scripts automatizados [enlace]
  • Modo transparente y proyecto Hyperevade (Resistencia anti-depuración y anti-hipervisor) [enlace][enlace][enlace]
  • Ejecución de ensamblador personalizado tanto en VMX-root como en VMX non-root (kernel y usuario) [enlace]
  • Comprobación de condiciones personalizadas [enlace][enlace]
  • Depuración específica de procesos y subprocesos [enlace][enlace][enlace]
  • Traza de mensajes compatible con VMX-root [enlace]
  • Potente motor de scripting en el lado del kernel [enlace][enlace]
  • Soporte para símbolos (análisis de archivos PDB) [enlace][enlace]
  • Mapeo de datos a símbolos y creación de estructuras y enumeraciones a partir de archivos PDB [enlace][enlace][enlace]
  • Reenvío de eventos (#DFIR) [enlace][enlace]
  • Manejador de puntos de interrupción transparente [enlace][enlace]
  • Varios scripts personalizados [enlace]
  • Kit de desarrollo de software (SDK) de HyperDbg [enlace]
  • Cortocircuito de eventos [enlace][enlace]
  • Seguimiento de registros de llamadas a funciones y direcciones de retorno [enlace]
  • Motor de desensamblador de longitud a nivel de kernel (LDE) [enlace][enlace]
  • Monitor de ejecución de memoria y bloqueo de ejecución [enlace]
  • Inyección personalizada de fallos de página [enlace]
  • Diferentes etapas de invocación de eventos [enlace]
  • Inyección de interrupciones/excepciones/fallos personalizados [enlace][enlace]
  • Eventos instantáneos en el modo depurador [enlace]
  • Detección de transiciones de kernel a usuario y de usuario a kernel [enlace]
  • Hooks de monitoreo de memoria física [enlace]
  • Enumeración de dispositivos PCI/PCI-e [enlace]
  • Interpretación y volcado del espacio de configuración PCI/PCI-e (CAM) [enlace]
  • Volcado de entradas IDT, APIC de E/S y APIC local en modos XAPIC y X2APIC [enlace][enlace][enlace]
  • Disparo y conteo de interrupciones del Modo de Administración del Sistema (SMM) (SMIs) [enlace]
  • Adjuntarse al proceso en modo usuario y evitar la ejecución [enlace]
  • Interceptación de la ejecución de instrucciones XSETBV [enlace]
  • Escritura de archivos de script de biblioteca [enlace]
  • Analizador mejorado de ejecutables portátiles (PE) [enlace]
  • Trazado de ramas mediante Last Branch Record (LBR) [enlace][enlace][enlace][enlace][enlace][enlace][enlace]

¿Cómo funciona?

Puedes leer sobre el diseño interno de HyperDbg y sus características en la documentación. A continuación se muestra un diagrama de alto nivel que ilustra cómo funciona HyperDbg:

Diseño de HyperDbg


Scripts

Puedes escribir tus scripts para automatizar tu proceso de depuración. HyperDbg cuenta con un motor de scripting potente, rápido e implementado enteramente en el lado del kernel.

Contribuciones

Cualquier contribución a HyperDbg es muy apreciada. Hemos elaborado una lista de posibles tareas en las que quizás te interese colaborar.

Si quieres contribuir a HyperDbg, por favor lee la Guía de contribución.

Licencia

HyperDbg y todos sus submódulos y repositorios, salvo que se especifique una licencia diferente, están licenciados bajo la licencia GPLv3.

Las dependencias tienen sus propias licencias.

Categorías