Validating EPT hook exec (hidden breakpoint and inline hook) events. 
  254{
  256 
  257    
  258    
  259    
  261 
  263    {
  265    }
  266 
  267    
  268    
  269    
  270    
  271    
  272    
  273    if (InputFromVmxRoot && TempPid != 
HANDLE_TO_UINT32(PsGetCurrentProcessId()))
 
  274    {
  278    }
  279 
  280    
  281    
  282    
  283    
  284    if (InputFromVmxRoot)
  285    {
  287        {
  288            
  289            
  290            
  291 
  295        }
  296    }
  297    else
  298    {
  300        {
  301            
  302            
  303            
  304 
  308        }
  309    }
  310 
  311    
  312    
  313    
  315}
#define TRUE
Definition BasicTypes.h:55
#define FALSE
Definition BasicTypes.h:54
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
#define DEBUGGER_EVENT_APPLY_TO_ALL_PROCESSES
Apply the event to all the processes.
Definition Constants.h:617
_Use_decl_annotations_ UINT64 VirtualAddressToPhysicalAddressByProcessId(PVOID VirtualAddress, UINT32 ProcessId)
Converts Virtual Address to Physical Address based on a specific process id's kernel cr3.
Definition Conversion.c:171
_Use_decl_annotations_ UINT64 VirtualAddressToPhysicalAddressOnTargetProcess(PVOID VirtualAddress)
Converts Virtual Address to Physical Address based on the current process's kernel cr3.
Definition Conversion.c:258
#define DEBUGGER_ERROR_PROCESS_ID_CANNOT_BE_SPECIFIED_WHILE_APPLYING_EVENT_FROM_VMX_ROOT_MODE
error, the process id cannot be specified while the debugger is in VMX-root mode
Definition ErrorCodes.h:429
#define DEBUGGER_ERROR_INVALID_ADDRESS
error, invalid address specified for debugger
Definition ErrorCodes.h:63
UINT32 Error
Definition Events.h:425
BOOLEAN IsSuccessful
Definition Events.h:424
UINT64 OptionalParam1
Definition Events.h:272
DEBUGGER_EVENT_OPTIONS Options
Definition Events.h:391
UINT32 ProcessId
Definition Events.h:360