18#define DbgWaitForKernelResponse(KernelSyncObjectId)                       \ 
   21        DEBUGGER_SYNCRONIZATION_EVENTS_STATE * SyncronizationObject =      \ 
   22            &g_KernelSyncronizationObjectsHandleTable[KernelSyncObjectId]; \ 
   24        SyncronizationObject->IsOnWaitingState = TRUE;                     \ 
   25        WaitForSingleObject(SyncronizationObject->EventHandle, INFINITE);  \ 
 
   29#define DbgWaitSetRequestData(KernelSyncObjectId, ReqData, ReqSize)        \ 
   32        DEBUGGER_SYNCRONIZATION_EVENTS_STATE * SyncronizationObject =      \ 
   33            &g_KernelSyncronizationObjectsHandleTable[KernelSyncObjectId]; \ 
   35        SyncronizationObject->RequestData = (PVOID)ReqData;                \ 
   36        SyncronizationObject->RequestSize = (UINT32)ReqSize;               \ 
 
   40#define DbgWaitGetRequestData(KernelSyncObjectId, ReqData, ReqSize)            \ 
   43        DEBUGGER_SYNCRONIZATION_EVENTS_STATE * SyncronizationObject =          \ 
   44            &g_KernelSyncronizationObjectsHandleTable[KernelSyncObjectId];     \ 
   46        *ReqData                          = SyncronizationObject->RequestData; \ 
   47        *ReqSize                          = SyncronizationObject->RequestSize; \ 
   48        SyncronizationObject->RequestData = NULL;                              \ 
   49        SyncronizationObject->RequestSize = NULL_ZERO;                         \ 
 
   53#define DbgReceivedKernelResponse(KernelSyncObjectId)                      \ 
   56        DEBUGGER_SYNCRONIZATION_EVENTS_STATE * SyncronizationObject =      \ 
   57            &g_KernelSyncronizationObjectsHandleTable[KernelSyncObjectId]; \ 
   59        SyncronizationObject->IsOnWaitingState = FALSE;                    \ 
   60        SetEvent(SyncronizationObject->EventHandle);                       \ 
 
   85    operator HKEY()
 const { 
return m_Key; }
 
 
  169                                    UINT32                         EventBufferLength);
 
  173                                       UINT32                   GeneralActionLength);
 
  179                                    BOOLEAN                                  SetChangeByClockInterrupt,
 
  236    BOOLEAN                                 PauseDebuggeeWhenSent);
 
  255                         UINT32                CurrentSymbolInfoIndex,
 
UCHAR BOOLEAN
Definition BasicTypes.h:39
unsigned char BYTE
Definition BasicTypes.h:24
#define VOID
Definition BasicTypes.h:33
unsigned int * PUINT32
Definition BasicTypes.h:48
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned long DWORD
Definition BasicTypes.h:22
unsigned int UINT32
Definition BasicTypes.h:48
char CHAR
Definition BasicTypes.h:31
enum _DEBUGGER_REMOTE_PACKET_TYPE DEBUGGER_REMOTE_PACKET_TYPE
enum for different packet types in HyperDbg packets
enum _DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION DEBUGGER_REMOTE_PACKET_REQUESTED_ACTION
enum for requested action for HyperDbg packet
POOL_TYPE SIZE_T ULONG Tag
Definition Hooks.h:168
UINT64 BOOLEAN PVOID BufferAddress
Definition HyperDbgScriptImports.h:67
enum _DEBUGGER_TEST_QUERY_STATE DEBUGGER_TEST_QUERY_STATE
test query used for test purposed
enum _DEBUGGER_CALLSTACK_DISPLAY_METHOD DEBUGGER_CALLSTACK_DISPLAY_METHOD
callstack showing method
enum _DEBUGGEE_DETAILS_AND_SWITCH_THREAD_TYPE DEBUGGEE_DETAILS_AND_SWITCH_THREAD_TYPE
Debugger thread switch and thread details.
enum _DEBUGGER_REMOTE_STEPPING_REQUEST DEBUGGER_REMOTE_STEPPING_REQUEST
stepping and tracking types
enum _DEBUGGEE_DETAILS_AND_SWITCH_PROCESS_TYPE DEBUGGEE_DETAILS_AND_SWITCH_PROCESS_TYPE
Debugger process switch and process details.
The structure of breakpoint modification requests packet in HyperDbg.
Definition RequestStructures.h:1090
The structure of bp command packet in HyperDbg.
Definition RequestStructures.h:1060
The structure of needed information to get the details of the process from nt!_EPROCESS and location ...
Definition RequestStructures.h:684
Register Descriptor Structure to use in r command.
Definition RequestStructures.h:1156
Register Descriptor Structure to write on registers.
Definition RequestStructures.h:1171
The structure of needed information to get the details of the thread from nt!_ETHREAD and location of...
Definition RequestStructures.h:698
The structure of user-input packet in HyperDbg.
Definition DataTypes.h:140
request for edit virtual and physical memory
Definition RequestStructures.h:482
Status of register buffers.
Definition Events.h:423
Each event can have multiple actions.
Definition Events.h:406
Each command is like the following struct, it also used for tracing works in user mode and sending it...
Definition Events.h:350
request for modifying events (enable/disable/clear)
Definition Events.h:242
requests for the '.pagein' command
Definition RequestStructures.h:73
request for reading virtual and physical memory
Definition RequestStructures.h:266
request for !pte command
Definition RequestStructures.h:22
requests for !va2pa and !pa2va commands
Definition RequestStructures.h:54
structures for sending and saving details about each module and symbols details
Definition Symbols.h:24
HKeyHolder & operator=(const HKeyHolder &)=delete
HKEY * operator&()
Definition kd.h:87
HKeyHolder()
Definition kd.h:73
HKeyHolder(const HKeyHolder &)=delete
~HKeyHolder()
Definition kd.h:79