mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-07-09 17:19:26 +00:00
55 lines
1.8 KiB
C
55 lines
1.8 KiB
C
/**
|
|
* @file HyperDbgHyperTrace.h
|
|
* @author Sina Karvandi (sina@hyperdbg.org)
|
|
* @brief Headers relating exported functions from hypertrace (tracing) module
|
|
* @version 0.18
|
|
* @date 2026-02-08
|
|
*
|
|
* @copyright This project is released under the GNU Public License v3.
|
|
*
|
|
*/
|
|
#pragma once
|
|
|
|
#ifdef HYPERDBG_HYPERTRACE
|
|
# define IMPORT_EXPORT_HYPERTRACE __declspec(dllexport)
|
|
#else
|
|
# define IMPORT_EXPORT_HYPERTRACE __declspec(dllimport)
|
|
#endif
|
|
|
|
//////////////////////////////////////////////////
|
|
// HyperTrace Functions //
|
|
//////////////////////////////////////////////////
|
|
|
|
//
|
|
// Initialize the hypertrace module with the provided callbacks
|
|
//
|
|
IMPORT_EXPORT_HYPERTRACE BOOLEAN
|
|
HyperTraceLbrInitCallback(HYPERTRACE_CALLBACKS * HypertraceCallbacks, BOOLEAN InitForHypervisorEnvironment);
|
|
|
|
//
|
|
// Uninitialize the HyperTrace module
|
|
//
|
|
IMPORT_EXPORT_HYPERTRACE VOID
|
|
HyperTraceLbrUninit();
|
|
|
|
//
|
|
// Perform operations related to HyperTrace based on the request type and parameters
|
|
//
|
|
IMPORT_EXPORT_HYPERTRACE BOOLEAN
|
|
HyperTraceLbrPerformOperation(HYPERTRACE_OPERATION_PACKETS * LbrOperationRequest,
|
|
BOOLEAN ApplyFromVmxRootMode);
|
|
|
|
//////////////////////////////////////////////////
|
|
// LBR Functions //
|
|
//////////////////////////////////////////////////
|
|
|
|
IMPORT_EXPORT_HYPERTRACE BOOLEAN
|
|
HyperTraceLbrSave(HYPERTRACE_OPERATION_PACKETS * HyperTraceOperationRequest,
|
|
BOOLEAN ApplyFromVmxRootMode);
|
|
|
|
IMPORT_EXPORT_HYPERTRACE BOOLEAN
|
|
HyperTraceLbrDump(HYPERTRACE_OPERATION_PACKETS * HyperTraceOperationRequest,
|
|
BOOLEAN ApplyFromVmxRootMode);
|
|
|
|
IMPORT_EXPORT_HYPERTRACE BOOLEAN
|
|
HyperTraceLbrQueryStateOfLbrSaveAndLoadVmExitAndEntryControls(UINT32 CoreId);
|