
HyperDbg v0.22
최첨단 네이티브 디버깅 도구
HyperDbg 디버거

HyperDbg 디버거는 Windows용 오픈소스 하이퍼바이저 지원 디버거이며(Linux 지원은 현재 개발 중!), 사용자 모드와 커널 모드(네이티브) 디버깅을 모두 지원합니다. 최신 하드웨어 가상화 및 추적 기능을 사용하여 리버스 엔지니어링, 퍼징, 고급 시스템 분석을 위해 설계되었습니다.
HyperDbg의 새 릴리스 소식을 받아보려면 Twitter 또는 Mastodon 에서 팔로우하거나, HyperDbg 그룹에 참여하여 개발자와 오픈소스 리버스 엔지니어링 애호가에게 HyperDbg 설정 및 사용에 대한 도움을 요청할 수 있습니다.
설명
HyperDbg는 기존 디버거의 기능을 뛰어넘는 기능을 제공하기 위해 최신 하드웨어 가상화 기술을 기반으로 구축되었습니다. Intel VT-x와 확장 페이지 테이블(EPT)을 사용하여 이미 실행 중인 시스템을 가상화함으로써 운영체제 위에서 동작합니다. 하드웨어 추적 기술인 Intel Processor Trace(Intel PT)와 같은 고급 추적 기술을 가상화와 결합하여, HyperDbg는 강력한 추적 및 Virtual Machine Introspection (VMI) 기능을 제공합니다.
핵심 기능
HyperDbg는 여러 유형의 EPT 기반 숨은 후크를 포함한 다양한 고급 디버깅 기능을 제공합니다. 특정 주소 범위에서 메모리 읽기, 쓰기, 실행을 모니터링하기 위해 하드웨어 데이터 중단점을 에뮬레이션할 수 있으며, 운영체제와 대상 애플리케이션 모두에게 투명하게 유지됩니다. 하드웨어 디버그 레지스터와 달리 이러한 모니터링 기능은 사용 가능한 디버그 레지스터 수나 크기 제한에 영향을 받지 않습니다. 또한 HyperDbg는 사용자 모드에서 커널 모드로의 전환(예: 시스템 호출, heaven's gate, 폴트, 예외, 인터럽트), 커널에서 디바이스 드라이버로, 그리고 커널 모드에서 다시 사용자 모드로의 전환을 포함하여 다양한 권한 수준에서 실행 추적이 가능하므로 전체 실행 흐름을 포괄적으로 분석할 수 있습니다.
또한 HyperDbg는 시스템 호출 후킹, 하드웨어 추적 기능을 통한 제어 흐름 추적, 그리고 메모리 매핑 I/O(MMIO)와 포트 매핑 I/O(PMIO)를 모두 포함하는 I/O 작업에 대한 포괄적인 모니터링을 지원하여 장치 상호작용 및 외부 주변기기에 대한 상세한 분석을 가능하게 합니다.
그 외에도 HyperDbg는 리버스 엔지니어링, 악성코드 분석, 저수준 프로그램 분석을 위해 특별히 설계된 많은 추가 이벤트 모음을 포함합니다. 지원되는 전체 이벤트 목록과 문서는 전체 기능 목록을 참조하세요.
HyperDbg는 가능한 한 은밀하게 작동하도록 설계되었습니다. 운영체제나 애플리케이션을 디버깅하기 위해 디버깅 API를 전혀 사용하지 않으므로 기존의 안티 디버깅 방법으로는 이를 탐지할 수 없습니다. 또한 은밀성 기능을 강화하도록 설계된 전용 모듈을 포함합니다. 이 모듈은 하이퍼바이저나 디버거의 존재를 탐지하려는 시도를 모니터링하고, 먼저 보고한 다음 그러한 탐지 메커니즘을 완화하거나 우회하는 다양한 기술을 적용합니다. 모든 시나리오에서 완전한 투명성을 보장할 수는 없지만, 이러한 기능은 HyperDbg 탐지의 어려움을 크게 높여 애플리케이션, 패커, 소프트웨어 프로텍터, 악성코드, 안티 치트 시스템 및 기타 보안 메커니즘이 그 존재를 식별하기 훨씬 어렵게 만듭니다.
왜 HyperDbg인가?
HyperDbg는 전통적인 디버거에 비해 설정과 사용이 더 어렵고, 더 깊은 저수준 시스템 지식이 필요합니다. 그러나 두 가지 주요 이점을 제공합니다:
-
전체 시스템 및 OS 제어
HyperDbg는 하이퍼바이저 수준에서 작동하므로 클래식 디버거로는 불가능한 강력한 기능을 제공합니다. 이를 통해 하드웨어 지원 기능을 활용하여 고급 리버스 엔지니어링 및 디버깅 시나리오를 수행할 수 있습니다. -
은밀성 및 탐지 저항성
HyperDbg는 표준 OS 디버깅 API에 의존하지 않으므로 일반적으로 탐지하기가 훨씬 더 어렵습니다(불가능한 것은 아니지만). 따라서 안티 디버깅 보호를 다룰 때 강력한 선택지가 됩니다.
이러한 이점은 기존 디버거가 제공할 수 있는 것 이상의 완전히 새로운 디버깅 및 리버스 엔지니어링 기술을 열어줍니다.
빌드 및 설치
최신 컴파일된 바이너리 파일은 releases 에서 다운로드할 수 있습니다. 또는 HyperDbg를 직접 빌드하려면 --recursive 플래그를 사용하여 HyperDbg를 클론해야 합니다.```
git clone --recursive https://github.com/HyperDbg/HyperDbg.git
**HyperDbg**로 시작하는 방법에 대한 자세한 설명은 **[Build & Install](https://docs.hyperdbg.org/getting-started/build-and-install)** 및 **[Quick Start](https://docs.hyperdbg.org/getting-started/quick-start)** 를 방문해 주세요. 자세한 정보는 **[FAQ](https://docs.hyperdbg.org/getting-started/faq)** 를 참조할 수도 있으며, 이전에 GDB, LLDB, WinDbg와 같은 다른 네이티브 디버거를 사용했다면 [명령어 맵](https://hyperdbg.github.io/commands-map)을 확인할 수 있습니다.
## 튜토리얼
**OpenSecurityTraining2의 "Reversing with HyperDbg (Dbg3301)**" 튜토리얼 시리즈는 [**OST2 웹사이트**](https://ost2.fyi/Dbg3301) (_권장_) 및 [**YouTube**](https://www.youtube.com/playlist?list=PLUFkSN0XLZ-kF1f143wlw8ujlH2A45nZY)에서 볼 수 있으며, HyperDbg를 시작하고 배우는 데 권장되는 방법입니다. 이 시리즈는 HyperDbg 사용의 초기 단계를 안내하며, 필수 개념, 원리, 디버깅 기능, 실용적인 예제 및 HyperDbg에 고유한 다양한 리버스 엔지니어링 방법을 다룹니다.
하이퍼바이저와 HyperDbg의 내부 설계 및 아키텍처를 이해하는 데 관심이 있다면 [**Hypervisor From Scratch**](https://rayanfam.com/tutorials) 튜토리얼을 읽어볼 수 있습니다.
## 발표 논문
작업에서 **HyperDbg**의 구성 요소 중 하나를 사용하는 경우, 우리 논문을 인용해 주시기 바랍니다.
**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}
}
HyperDbg를 기반으로 한 다른 논문...
2. hwdbg: 하드웨어를 소프트웨어처럼 디버깅하기 (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: 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. 디지털 홀: DReaMcatcher를 이용한 상용 오디오 DRM 솔루션 우회 (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: 악성코드 분석 및 메모리 재구성을 위한 효율적인 하이퍼바이저 기반 프레임워크 (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}
}
또한 전체 아키텍처, 기술적 어려움, 설계 결정 및 HyperDbg 디버거의 내부 구조를 설명하는 이 문서, vm-exit 투명성을 위한 노력에 관한 이 문서, 하이퍼바이저 내부의 버그 추적에 관한 이 문서, 그리고 HyperDbg에 도입된 새로운 리버스 엔지니어링 기법에 관한 이 문서도 읽어볼 수 있습니다. 더 많은 문서, 게시물 및 리소스는 awesome 리포지토리에서 확인할 수 있으며, 추가 참고 자료를 위한 프레젠테이션 슬라이드는 slides 리포지토리에서 제공됩니다.
고유 기능
- 고급 하이퍼바이저 기반 커널 모드 디버거 [link][link][link]
- 클래식 EPT 훅 (숨겨진 중단점) [link][link][link]
- 인라인 EPT 훅 (인라인 훅) [link][link]
- 읽기/쓰기 메모리 모니터링 (제한 없는 하드웨어 디버그 레지스터 에뮬레이션) [link][link][link]
- SYSCALL 훅 (EFER 비활성화 및 #UD 처리) [link][link][link]
- SYSRET 훅 (EFER 비활성화 및 #UD 처리) [link][link]
- CPUID 훅 및 모니터 [link][link]
- RDMSR 훅 및 모니터 [link][link]
- WRMSR 훅 및 모니터 [link][link]
- RDTSC/RDTSCP 훅 및 모니터 [link]
- RDPMC 훅 및 모니터 [link]
- VMCALL 훅 및 모니터 [link]
- 디버그 레지스터 훅 및 모니터 [link]
- I/O 포트 (IN 명령어) 훅 및 모니터 [link][link]
- I/O 포트 (OUT 명령어) 훅 및 모니터 [link][link]
- MMIO 모니터 [link]
- 예외 (IDT < 32) 모니터 [link][link][link]
- 외부 인터럽트 (IDT > 32) 모니터 [link][link][link]
- 자동화된 스크립트 실행 [link]
- 투명 모드 및 Hyperevade 프로젝트 (안티 디버깅 및 안티 하이퍼바이저 저항) [link][link][link]
- VMX-root 및 VMX non-root (커널 및 사용자) 모두에서 사용자 정의 어셈블리 실행 [link]
- 사용자 정의 조건 확인 [link][link]
- 프로세스별 및 스레드별 디버깅 [link][link][link]
- VMX-root 호환 메시지 추적 [link]
- 강력한 커널 측 스크립팅 엔진 [link][link]
- 심볼 지원 (PDB 파일 파싱) [link][link]
- 데이터를 심볼에 매핑 및 PDB 파일에서 구조체, 열거형 생성 [link][link][link]
- 이벤트 전달 (#DFIR) [link][link]
- 투명 중단점 핸들러 [link][link]
- 다양한 사용자 정의 스크립트 [link]
- HyperDbg 소프트웨어 개발 키트 (SDK) [link]
- 이벤트 단락(Short-circuiting) [link][link]
- 함수 호출 및 반환 주소 기록 추적 [link]
- 커널 수준 길이 디스어셈블러 엔진 (LDE) [link][link]
- 메모리 실행 모니터 및 실행 차단 [link]
- 사용자 정의 페이지 폴트 주입 [link]
- 다양한 이벤트 호출 단계 [link]
- 사용자 정의 인터럽트/예외/폴트 주입 [link][link]
- 디버거 모드의 즉시 이벤트 [link]
- 커널-사용자 및 사용자-커널 전환 감지 [link]
- 물리 메모리 모니터링 훅 [link]
- PCI/PCI-e 장치 열거 [link]
- PCI/PCI-e 구성 공간 (CAM) 해석 및 덤프 [link]
- XAPIC 및 X2APIC 모드에서 IDT 엔트리, I/O APIC, 로컬 APIC 덤프 [link][link][link]
- 시스템 관리 모드(SMM) 인터럽트(SMI) 트리거 및 카운팅 [link]
- 사용자 모드 프로세스에 연결 및 실행 방지 [link]
- XSETBV 명령어 실행 가로채기 [link]
- 라이브러리 스크립트 파일 작성 [link]
- 향상된 휴대용 실행 파일(PE) 파서 [link]
- LBR(Last Branch Record)을 사용한 분기 추적 [link][link][link][link][link][link][link]
어떻게 동작하나요?
HyperDbg 및 해당 기능의 내부 설계에 관한 내용은 문서에서 확인할 수 있습니다. 다음은 HyperDbg가 어떻게 동작하는지 보여주는 최상위 다이어그램입니다:
스크립트
여러분의 디버깅 여정을 자동화하기 위해 스크립트 를 작성할 수 있습니다. HyperDbg에는 강력하고 빠르며 완전히 커널 측에서 구현된 스크립트 엔진이 있습니다.
기여
HyperDbg에 기여해 주시면 매우 감사하겠습니다. 저희는 여러분이 기여할 수 있는 잠재적 작업 목록을 준비했습니다.
HyperDbg에 기여하고 싶다면 기여 가이드를 읽어주세요.
라이선스
HyperDbg 및 모든 하위 모듈과 리포지토리는 별도로 명시된 라이선스가 없는 한 GPLv3 라이선스로 제공됩니다.
종속성은 각각 자체 라이선스로 제공됩니다.

