HyperDbg/hyperdbg/hyperkd/header/pch.h

166 lines
3.8 KiB
C

/**
* @file pch.h
* @author Sina Karvandi (sina@hyperdbg.org)
* @brief Pre-compiled headers for debugger
* @details
* @version 0.2
* @date 2023-01-15
*
* @copyright This project is released under the GNU Public License v3.
*
*/
#pragma warning(disable : 4201) // Suppress nameless struct/union warning
//
// Scope definitions
//
#define HYPERDBG_KERNEL_MODE
#define HYPERDBG_DEBUGGER
#define SCRIPT_ENGINE_KERNEL_MODE
//
// Environment headers
//
#include "platform/general/header/Environment.h"
#ifdef HYPERDBG_ENV_WINDOWS
//
// General WDK headers
//
# include <ntifs.h>
# include <ntstrsafe.h>
# include <Windef.h>
#endif // HYPERDBG_ENV_WINDOWS
//
// Definition of Intel primitives (External header)
//
#include "ia32-doc/out/ia32.h"
//
// Import Configuration and Definitions
//
#include "config/Configuration.h"
#include "config/Definition.h"
//
// Macros
//
#include "macros/MetaMacros.h"
//
// HyperDbg SDK headers
//
#include "SDK/HyperDbgSdk.h"
//
// Import HyperLog Module
//
#include "SDK/modules/HyperLog.h"
#include "SDK/imports/kernel/HyperDbgHyperLogImports.h"
#include "SDK/imports/kernel/HyperDbgHyperLogIntrinsics.h"
//
// Import VMM Module
//
#include "SDK/modules/VMM.h"
#include "SDK/imports/kernel/HyperDbgVmmImports.h"
//
// Local Debugger headers
//
#include "debugger/core/State.h"
#include "driver/Driver.h"
#include "driver/Loader.h"
//
// Spinlock component
//
#include "components/spinlock/header/Spinlock.h"
//
// Platform independent headers
//
#include "platform/kernel/header/PlatformMem.h"
#include "platform/kernel/header/PlatformIntrinsics.h"
#include "platform/kernel/header/PlatformBroadcast.h"
#include "platform/kernel/header/PlatformProcess.h"
#include "platform/kernel/header/PlatformCpu.h"
//
// Optimization algorithms
//
#include "components/optimizations/header/AvlTree.h"
#include "components/optimizations/header/BinarySearch.h"
#include "components/optimizations/header/InsertionSort.h"
//
// Debugger Types
//
#include "header/debugger/core/Debugger.h"
//
// Assembly files
//
#include "header/assembly/Assembly.h"
//
// Debugger Sub-types
//
#include "header/debugger/tests/KernelTests.h"
#include "header/debugger/script-engine/ScriptEngine.h"
#include "header/debugger/memory/Memory.h"
#include "header/common/Common.h"
#include "header/common/Synchronization.h"
#include "header/debugger/memory/PoolManager.h"
#include "header/debugger/memory/Allocations.h"
#include "header/debugger/kernel-level/Kd.h"
#include "header/debugger/user-level/Ud.h"
#include "header/debugger/commands/BreakpointCommands.h"
#include "header/debugger/commands/DebuggerCommands.h"
#include "header/debugger/commands/ExtensionCommands.h"
#include "header/debugger/commands/Callstack.h"
#include "header/debugger/communication/SerialConnection.h"
#include "header/debugger/objects/Process.h"
#include "header/debugger/objects/Thread.h"
#include "header/debugger/user-level/Attaching.h"
#include "header/debugger/user-level/UserAccess.h"
#include "header/debugger/user-level/ThreadHolder.h"
#include "header/debugger/core/DebuggerVmcalls.h"
#include "header/debugger/core/HaltedCore.h"
//
// Broadcast functions
//
#include "header/debugger/broadcast/DpcRoutines.h"
#include "header/debugger/broadcast/HaltedRoutines.h"
#include "header/debugger/broadcast/HaltedBroadcast.h"
//
// Events & Meta events
//
#include "header/debugger/events/ApplyEvents.h"
#include "header/debugger/events/Termination.h"
#include "header/debugger/events/DebuggerEvents.h"
#include "header/debugger/events/ValidateEvents.h"
#include "header/debugger/meta-events/Tracing.h"
#include "header/debugger/meta-events/MetaDispatch.h"
//
// Script engine headers
//
#include "../script-eval/header/ScriptEngineHeader.h"
//
// Tracing (hypertrace) headers
//
#include "SDK/modules/HyperTrace.h"
#include "SDK/imports/kernel/HyperDbgHyperTrace.h"
//
// Global variables
//
#include "globals/Global.h"