23#define MAXIMUM_NUMBER_OF_PROCESSES_FOR_USER_KERNEL_EXEC_THREAD 100
80 VMX_EXIT_QUALIFICATION_EPT_VIOLATION * ViolationQualification);
volatile LONG ExecTrapProcessListLock
The lock for modifying the list of processes for user-mode, kernel-mode execution traps.
Definition ExecTrap.h:33
VOID ExecTrapRestoreToNormalEptp(VIRTUAL_MACHINE_STATE *VCpu)
restore to normal EPTP
Definition ExecTrap.c:480
VOID ExecTrapHandleCr3Vmexit(VIRTUAL_MACHINE_STATE *VCpu)
Handle MOV to CR3 vm-exits for hooking mode execution.
Definition ExecTrap.c:778
VOID ExecTrapApplyMbecConfiguratinFromKernelSide(VIRTUAL_MACHINE_STATE *VCpu)
Apply the MBEC configuration from the kernel side.
Definition ExecTrap.c:721
struct _USER_KERNEL_EXECUTION_TRAP_STATE * PUSER_KERNEL_EXECUTION_TRAP_STATE
VOID ExecTrapChangeToKernelDisabledMbecEptp(VIRTUAL_MACHINE_STATE *VCpu)
change to kernel-disabled MBEC EPTP
Definition ExecTrap.c:541
#define MAXIMUM_NUMBER_OF_PROCESSES_FOR_USER_KERNEL_EXEC_THREAD
maximum number of processes for a simultaneous user-mode, kernel-mode execution trap
Definition ExecTrap.h:23
BOOLEAN ExecTrapRemoveProcessFromWatchingList(UINT32 ProcessId)
Remove the target process from the watching list.
Definition ExecTrap.c:815
VOID ExecTrapChangeToUserDisabledMbecEptp(VIRTUAL_MACHINE_STATE *VCpu)
change to user-disabled MBEC EPTP
Definition ExecTrap.c:500
struct _USER_KERNEL_EXECUTION_TRAP_STATE USER_KERNEL_EXECUTION_TRAP_STATE
The status user-mode, kernel-mode execution traps for processes.
BOOLEAN ExecTrapInitialize()
Initialize the exec trap based on service request.
Definition ExecTrap.c:369
BOOLEAN ExecTrapAddProcessToWatchingList(UINT32 ProcessId)
Add the target process to the watching list.
Definition ExecTrap.c:790
VOID ExecTrapUninitialize()
Uinitialize the needed structure for the reversing machine.
Definition ExecTrap.c:432
BOOLEAN ExecTrapHandleEptViolationVmexit(VIRTUAL_MACHINE_STATE *VCpu, VMX_EXIT_QUALIFICATION_EPT_VIOLATION *ViolationQualification)
Handle EPT Violations related to the MBEC hooks.
Definition ExecTrap.c:655
VOID ExecTrapHandleMoveToAdjustedTrapState(VIRTUAL_MACHINE_STATE *VCpu, DEBUGGER_EVENT_MODE_TYPE TargetMode)
Restore the execution of the trap to adjusted trap state.
Definition ExecTrap.c:625
The status user-mode, kernel-mode execution traps for processes.
Definition ExecTrap.h:44
UINT32 NumberOfItems
Definition ExecTrap.h:45
UINT64 InterceptionProcessIds[MAXIMUM_NUMBER_OF_PROCESSES_FOR_USER_KERNEL_EXEC_THREAD]
Definition ExecTrap.h:46