Voltar às atualizações
New releaseJul 21, 2026

HyperDbg v0.22

Ferramentas de depuração nativas de última geração

Compartilhar

Website Documentation Doxygen Published Academic Researches License

HyperDbg Debugger

HyperDbg Debugger
HyperDbg Debugger é um depurador de código aberto assistido por hipervisor para Windows (o suporte a Linux está atualmente em desenvolvimento!) com suporte para depuração tanto em modo de usuário quanto em modo kernel (nativo). Ele foi criado para engenharia reversa, fuzzing e análise avançada de sistemas, utilizando recursos modernos de virtualização de hardware e rastreamento.

Você pode seguir HyperDbg no Twitter ou no Mastodon para ser notificado sobre novos lançamentos, ou entrar em qualquer um dos grupos do HyperDbg, onde você pode pedir ajuda a desenvolvedores e entusiastas de engenharia reversa de código aberto para configurar e usar o HyperDbg.

Descrição

HyperDbg é construído em torno de tecnologias modernas de virtualização de hardware para introduzir capacidades além daquelas dos depuradores tradicionais. Ele opera sobre o sistema operacional, virtualizando um sistema já em execução usando Intel VT-x e Extended Page Tables (EPT). Ao combinar virtualização com tecnologias avançadas de rastreamento, como Intel Processor Trace (Intel PT), HyperDbg oferece poderosas capacidades de rastreamento e de Virtual Machine Introspection (VMI).

HyperDbg Debugger

Principais Capacidades

HyperDbg fornece uma ampla gama de recursos avançados de depuração, incluindo vários tipos de hooks ocultos baseados em EPT. Ele pode emular breakpoints de dados por hardware para monitorar memória, leituras, escritas e execuções em faixas de endereços específicas, permanecendo transparente tanto para o sistema operacional quanto para os aplicativos alvo. Diferentemente dos registradores de depuração por hardware, esses recursos de monitoramento não são limitados pelo número de registradores de depuração disponíveis nem por restrições de tamanho. Além disso, HyperDbg é capaz de rastrear a execução em diferentes níveis de privilégio, incluindo transições do modo de usuário para o modo kernel (por exemplo, por meio de chamadas de sistema, heaven's gate, falhas, exceções e interrupções), do kernel para drivers de dispositivo e do modo kernel de volta para o modo de usuário, permitindo uma análise abrangente de todo o fluxo de execução.

Além disso, HyperDbg suporta hook de chamadas de sistema, rastreamento de fluxo de controle por meio de recursos de rastreamento por hardware e monitoramento abrangente de operações de I/O, incluindo tanto Memory-Mapped I/O (MMIO) quanto Port-Mapped I/O (PMIO), permitindo uma análise detalhada das interações com dispositivos e periféricos externos.

Além disso, HyperDbg inclui uma grande coleção de eventos adicionais projetados especificamente para engenharia reversa, análise de malware e análise de programas de baixo nível. Para uma lista completa dos eventos suportados e sua documentação, consulte a lista completa de recursos.

HyperDbg é projetado para operar da forma mais furtiva possível. Ele não usa nenhuma API de depuração para depurar o sistema operacional ou qualquer aplicativo, portanto, métodos clássicos de anti-debugging não o detectarão. Ele também inclui um módulo especializado projetado para aprimorar suas capacidades de furtividade. Esse módulo monitora tentativas de detectar a presença de um hipervisor ou depurador e aplica várias técnicas para primeiro relatar e depois mitigar ou contornar tais mecanismos de detecção. Embora a transparência completa não possa ser garantida em todos os cenários, esses recursos aumentam significativamente a dificuldade de detectar o HyperDbg, tornando substancialmente mais difícil para aplicativos, packers, protetores de software, malware, sistemas anti-cheat e outros mecanismos de segurança identificarem sua presença.

Por que HyperDbg?

O HyperDbg é mais difícil de configurar e usar, e também exige um conhecimento mais profundo de sistemas de baixo nível em comparação com os depuradores tradicionais. No entanto, ele oferece duas grandes vantagens:

  1. Controle Total do Sistema & do SO
    O HyperDbg opera no nível do hipervisor, dando a você capacidades poderosas que simplesmente não são possíveis com depuradores clássicos. Isso permite que você aproveite recursos assistidos por hardware para cenários avançados de engenharia reversa e depuração.

  2. Furtividade & Resistência à Detecção
    Como o HyperDbg não depende de APIs padrão de depuração do sistema operacional, geralmente é muito mais difícil (embora não impossível) de detectar. Isso o torna uma escolha forte ao trabalhar contra proteções anti-debugging.

Essas vantagens abrem técnicas totalmente novas de depuração e engenharia reversa que vão além do que os depuradores convencionais podem oferecer.

Compilação e Instalação

Você pode baixar os arquivos binários compilados mais recentes em releases; caso contrário, se você quiser compilar o HyperDbg, deve clonar o HyperDbg com a flag --recursive.``` git clone --recursive https://github.com/HyperDbg/HyperDbg.git

Please visit **[Build & Install](https://docs.hyperdbg.org/getting-started/build-and-install)** and **[Quick Start](https://docs.hyperdbg.org/getting-started/quick-start)** for a detailed explanation of how to start with **HyperDbg**. You can also see the **[FAQ](https://docs.hyperdbg.org/getting-started/faq)** for more information, or if you previously used other native debuggers like GDB, LLDB, or WinDbg, you could see the [command map](https://hyperdbg.github.io/commands-map).

## Tutoriais

A série de tutoriais **OpenSecurityTraining2's "Reversing with HyperDbg (Dbg3301)**", disponível no [**site da OST2**](https://ost2.fyi/Dbg3301) (_preferido_) e no [**YouTube**](https://www.youtube.com/playlist?list=PLUFkSN0XLZ-kF1f143wlw8ujlH2A45nZY) é a forma recomendada de começar com o HyperDbg e aprendê-lo. Ela guia você pelas etapas iniciais do uso do HyperDbg, abordando conceitos essenciais, princípios e funcionalidades de depuração, juntamente com exemplos práticos e diversos métodos de engenharia reversa exclusivos do HyperDbg.

Se você tem interesse em entender o design interno e a arquitetura de hipervisores e do HyperDbg, pode ler os tutoriais [**Hypervisor From Scratch**](https://rayanfam.com/tutorials).

## Publicações

Caso você use algum dos componentes do **HyperDbg** em seu trabalho, considere citar nossos artigos.

**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}
}
Outro artigo baseado no HyperDbg...

2. hwdbg: Depurando 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: Combatendo Técnicas Anti-Debugging e Melhorando a Transparência em Virtualização Aninhada usando o 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. Digital Hole: Contornando Soluções Comerciais de DRM de Áudio com 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: Um Framework Eficiente Baseado em Hipervisor para Análise de Malware e Reconstrução de Memória (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}
}

Você também pode ler este artigo que descreve a arquitetura geral, as dificuldades técnicas, as decisões de design e os detalhes internos do HyperDbg Debugger, este artigo sobre nossos esforços em transparência de vm-exit, este artigo sobre a caça a bugs em hipervisores, e este artigo sobre novas técnicas de engenharia reversa introduzidas no HyperDbg. Mais artigos, publicações e recursos estão disponíveis no repositório awesome e, adicionalmente, o repositório slides fornece slides de apresentação para referência adicional.

Recursos Exclusivos

  • Depurador de Modo Kernel Avançado Baseado em Hypervisor [link][link][link]
  • Hook EPT Clássico (Breakpoint Oculto) [link][link][link]
  • Hook EPT Inline (Inline Hook) [link][link]
  • Monitoramento de Memória para R/W (Emulando Registradores de Depuração de Hardware Sem Limitação) [link][link][link]
  • Hook de SYSCALL (Desabilitar EFER e Tratar #UD) [link][link][link]
  • Hook de SYSRET (Desabilitar EFER e Tratar #UD) [link][link]
  • Hook e Monitor de CPUID [link][link]
  • Hook e Monitor de RDMSR [link][link]
  • Hook e Monitor de WRMSR [link][link]
  • Hook e Monitor de RDTSC/RDTSCP [link]
  • Hook e Monitor de RDPMC [link]
  • Hook e Monitor de VMCALL [link]
  • Hook e Monitor de Registradores de Depuração [link]
  • Hook e Monitor de Porta de I/O (Instrução IN) [link][link]
  • Hook e Monitor de Porta de I/O (Instrução OUT) [link][link]
  • Monitor de MMIO [link]
  • Monitor de Exceções (IDT < 32) [link][link][link]
  • Monitor de Interrupções Externas (IDT > 32) [link][link][link]
  • Execução de Scripts Automatizados [link]
  • Modo Transparente e Projeto Hyperevade (Resistência a Anti-debugging e Anti-hypervisor) [link][link][link]
  • Execução de Assembly Personalizado em VMX-root e VMX non-root (Kernel e Usuário) [link]
  • Verificação de Condições Personalizadas [link][link]
  • Depuração Específica de Processo e de Thread [link][link][link]
  • Rastreamento de Mensagens Compatível com VMX-root [link]
  • Poderoso Mecanismo de Scripts no Lado do Kernel [link][link]
  • Suporte a Símbolos (Parsing de Arquivos PDB) [link][link]
  • Mapeamento de Dados para Símbolos e Criação de Estruturas e Enums a partir de Arquivos PDB [link][link][link]
  • Encaminhamento de Eventos (#DFIR) [link][link]
  • Manipulador Transparente de Breakpoints [link][link]
  • Vários Scripts Personalizados [link]
  • Kit de Desenvolvimento de Software (SDK) do HyperDbg [link]
  • Curto-circuito de Eventos [link][link]
  • Rastreamento de Registros de Chamadas de Função e Endereços de Retorno [link]
  • Mecanismo de Desmontagem de Comprimento em Nível de Kernel (LDE) [link][link]
  • Monitor de Execução de Memória e Bloqueio de Execução [link]
  • Injeção Personalizada de Page Fault [link]
  • Diferentes Estágios de Chamada de Eventos [link]
  • Injeção de Interrupções/Exceções/Falhas Personalizadas [link][link]
  • Eventos Instantâneos no Modo Depurador [link]
  • Detecção de Transições do Kernel para o Usuário e do Usuário para o Kernel [link]
  • Hooks de Monitoramento de Memória Física [link]
  • Enumeração de Dispositivos PCI/PCI-e [link]
  • Interpretação e Dump do Espaço de Configuração PCI/PCI-e (CAM) [link]
  • Dump de Entradas da IDT, I/O APIC e APIC Local nos Modos XAPIC e X2APIC [link][link][link]
  • Disparo e Contagem de Interrupções do Modo de Gerenciamento do Sistema (SMM) (SMIs) [link]
  • Anexação ao Processo em Modo de Usuário e Prevenção de Execução [link]
  • Interceptação da Execução de Instruções XSETBV [link]
  • Escrita de Arquivos de Script de Biblioteca [link]
  • Parser Aprimorado de Portable Executable (PE) [link]
  • Rastreamento de Desvios usando Last Branch Record (LBR) [link][link][link][link][link][link][link]

Como funciona?

Você pode ler sobre o design interno do HyperDbg e seus recursos na documentação. Aqui está um diagrama de alto nível que mostra como o HyperDbg funciona:

HyperDbg Design


Scripts

Você pode escrever seus scripts para automatizar sua jornada de depuração. HyperDbg possui um mecanismo de script poderoso, rápido e inteiramente implementado no lado do kernel.

Contribuição

Contribuir com o HyperDbg é super apreciado. Fizemos uma lista de possíveis tarefas nas quais você possa ter interesse em contribuir.

Se você quiser contribuir com o HyperDbg, por favor leia o Guia de Contribuição.

Licença

HyperDbg e todos os seus submódulos e repositórios, a menos que uma licença seja especificada de outra forma, são licenciados sob a licença GPLv3.

As dependências possuem suas próprias licenças.

Categorias