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