HyperDbg Debugger
Loading...
Searching...
No Matches
pch.h
Go to the documentation of this file.
1
14#pragma once
15
16#define _NO_CRT_STDIO_INLINE
17
18#pragma warning(disable : 4201) // Suppress nameless struct/union warning
19
20//
21// Scope definitions
22//
23#define SCRIPT_ENGINE_KERNEL_MODE
24#define HYPERDBG_KERNEL_MODE
25#define HYPERDBG_VMM
26
27//
28// Environment headers
29//
31
32#ifdef ENV_WINDOWS
33
34//
35// General WDK headers
36//
37# include <ntifs.h>
38# include <ntstrsafe.h>
39# include <Windef.h>
40# include <assert.h>
41
42#endif // ENV_WINDOWS
43
44//
45// Definition of Intel primitives (External header)
46//
47#include "ia32-doc/out/ia32.h"
48
49//
50// HyperDbg SDK headers
51//
52#include "SDK/HyperDbgSdk.h"
53
54//
55// HyperDbg Kernel-mode headers
56//
57#include "Configuration.h"
58#include "macros/MetaMacros.h"
59
60//
61// Platform independent headers
62//
64
65//
66// VMM Callbacks
67//
68#include "SDK/Modules/VMM.h"
69
70//
71// The core's state
72//
73#include "common/State.h"
74
75//
76// VMX and EPT Types
77//
78#include "vmm/vmx/Vmx.h"
79#include "vmm/vmx/VmxRegions.h"
80#include "vmm/ept/Ept.h"
82
83//
84// VMX and Capabilities
85//
88#include "memory/MemoryMapper.h"
89#include "interface/Dispatch.h"
90#include "common/Dpc.h"
91#include "vmm/vmx/HypervTlfs.h"
92#include "common/Msr.h"
93#include "memory/PoolManager.h"
94#include "common/Trace.h"
95#include "assembly/InlineAsm.h"
96#include "vmm/ept/Vpid.h"
97#include "memory/Conversion.h"
98#include "memory/Layout.h"
99#include "memory/SwitchLayout.h"
100#include "memory/AddressCheck.h"
101#include "memory/Segmentation.h"
102#include "common/Bitwise.h"
103#include "common/Common.h"
105#include "vmm/vmx/Events.h"
106#include "devices/Apic.h"
107#include "vmm/vmx/Mtf.h"
108#include "vmm/vmx/Counters.h"
109#include "vmm/vmx/IdtEmulation.h"
110#include "vmm/ept/Invept.h"
111#include "vmm/vmx/Vmcall.h"
113#include "vmm/vmx/Hv.h"
114#include "vmm/vmx/MsrHandlers.h"
115#include "vmm/vmx/ProtectedHv.h"
116#include "vmm/vmx/IoHandler.h"
118#include "hooks/Hooks.h"
120#include "interface/Callback.h"
123
124//
125// Disassembler Header
126//
127#include "Zydis/Zydis.h"
129
130//
131// Broadcast headers
132//
133#include "broadcast/Broadcast.h"
134#include "broadcast/DpcRoutines.h"
135
136//
137// Headers for supporting the reversing machine (TRM)
138//
139#include "hooks/ExecTrap.h"
140
141//
142// Headers for exporting functions to remove the driver
143//
144#include "common/UnloadDll.h"
145
146//
147// Optimization algorithms
148//
152
153//
154// Global Variables should be the last header to include
155//
158
159//
160// HyperLog Module
161//
162#include "SDK/Modules/HyperLog.h"
Header files for address checks.
Routines for Advanced Programmable Interrupt Controller (APIC)
Headers for the file that contains array management routines (AVL Tree)
The header file for array management routines (Binary Search)
Header files for bit-level operations.
The broadcast (DPC) function to all the cores for debugger commands.
Header for VMM callback interface routines.
Header for checks for processor compatibility with different features.
Global configuration that applies on compile time.
Header files for memory conversions.
The headers for functions for emulating counters.
Header for direct VMCALL routines.
Headers for dirty logging mechanism.
Header for disassembler in kernel.
Headers of debugger functions for dispatching, triggering and emulating events.
Contains the headers relating to EPT structures, MTRR and all basic Hooking structures.
Header for the user-mode, kernel-mode execution traps' routines.
Headers for management of global variables.
Here we put global variables that are used more or less in all part of our hypervisor (not all of the...
Hook headers.
This file contains the headers for Hypervisor Routines which have to be called by external codes.
Headers relating exported functions from hyperlog project.
Headers relating exported functions from hypervisor.
HyperDbg's SDK for HyperLog project.
Header for Handlers of Guest's IDT Emulator.
The definition of functions written in Assembly.
Headers for the file that contains array management routines (Insertion Sort)
Header for INVEPT functions.
The I/O Handler for vm-exit headers.
Header files for working with memory layouts.
Cross platform APIs for memory allocation.
Helper macros.
Hook headers for Mode-based execution.
Model-Specific Registers definitions.
Headers to Handle for MSR-related tasks in VMX-root.
Monitor Trap Flag Headers.
Headers of pool manager.
Header files for protected hypervisor resources.
Functions for handling memory segmentations.
Headers of spinlock routines.
Header files for switching memory layouts.
WPP Tracing Definitions.
HyperDbg's SDK for VMM project.
VMCALL Headers.
VMX Instruction and operation headers.
Headers for broadcast in VMX-root mode.
VMX based mechanisms header.
Headers for implement allocations for VMX Regions (VMXON Region, VMCS, MSR Bitmap and etc....
VPID Headers.
Model-Specific Registers definitions.
Headers for unloading DLL in the target Windows.
hide the debugger from anti-debugging and anti-hypervisor methods (headers)
Headers relating to Exception Bitmap and Event (Interrupt and Exception) Injection.
The running environment of HyperDbg.