32#define PENDING_INTERRUPTS_BUFFER_CAPACITY 64 
   38#define MaximumHiddenBreakpointsOnPage 40 
   78#define VMM_EPT_PML4E_COUNT 512 
   84#define VMM_EPT_PML3E_COUNT 512 
   91#define VMM_EPT_PML2E_COUNT 512 
   98#define VMM_EPT_PML1E_COUNT 512 
  170    LIST_ENTRY PageHookList;
 
  181    UINT64 AddressOfEptHook2sDetourListEntry;
 
  187    SIZE_T PhysicalBaseAddress;
 
  192    SIZE_T StartOfTargetPhysicalAddress;
 
  197    SIZE_T EndOfTargetPhysicalAddress;
 
  208    SIZE_T PhysicalBaseAddressOfFakePageContents;
 
 
UCHAR BOOLEAN
Definition BasicTypes.h:39
 
unsigned __int64 UINT64
Definition BasicTypes.h:21
 
unsigned char UINT8
Definition BasicTypes.h:46
 
unsigned __int64 * PUINT64
Definition BasicTypes.h:21
 
unsigned int UINT32
Definition BasicTypes.h:48
 
char CHAR
Definition BasicTypes.h:31
 
Structure to save the state of each hooked pages.
Definition State.h:163
 
Temporary $context used in some EPT hook commands.
Definition DataTypes.h:320
 
The status of NMI broadcasting in VMX.
Definition State.h:280
 
volatile NMI_BROADCAST_ACTION_TYPE NmiBroadcastAction
Definition State.h:281
 
The status of each core after and before VMX.
Definition State.h:290
 
UINT64 MsrBitmapPhysicalAddress
Definition State.h:316
 
UINT32 ExitQualification
Definition State.h:308
 
PVMM_EPT_PAGE_TABLE EptPageTable
Definition State.h:342
 
UINT64 VmxonRegionVirtualAddress
Definition State.h:311
 
UINT64 HostInterruptStack
Definition State.h:336
 
BOOLEAN NotNormalEptp
Definition State.h:300
 
NMI_BROADCASTING_STATE NmiBroadcastingState
Definition State.h:329
 
UINT64 TestNumber
Definition State.h:304
 
UINT8 LastExceptionOccuredInHost
Definition State.h:332
 
UINT64 HostGdt
Definition State.h:334
 
UINT64 IoBitmapVirtualAddressB
Definition State.h:319
 
BOOLEAN IgnoreMtfUnset
Definition State.h:294
 
EPT_POINTER EptPointer
Definition State.h:341
 
BOOLEAN EnableExternalInterruptsOnContinueMtf
Definition State.h:297
 
BOOLEAN MbecEnabled
Definition State.h:301
 
UINT64 IoBitmapPhysicalAddressA
Definition State.h:318
 
PUINT64 PmlBufferAddress
Definition State.h:302
 
UINT64 VmcsRegionPhysicalAddress
Definition State.h:312
 
UINT64 MsrBitmapVirtualAddress
Definition State.h:315
 
BOOLEAN IgnoreOneMtf
Definition State.h:299
 
UINT64 VmmStack
Definition State.h:314
 
UINT32 QueuedNmi
Definition State.h:321
 
BOOLEAN WaitForImmediateVmexit
Definition State.h:295
 
BOOLEAN IncrementRip
Definition State.h:292
 
PEPT_HOOKED_PAGE_DETAIL MtfEptHookRestorePoint
Definition State.h:331
 
UINT64 HostTss
Definition State.h:335
 
BOOLEAN HasLaunched
Definition State.h:293
 
GUEST_REGS * Regs
Definition State.h:305
 
UINT64 HostIdt
Definition State.h:333
 
UINT32 ExitReason
Definition State.h:307
 
VMX_VMXOFF_STATE VmxoffState
Definition State.h:328
 
BOOLEAN IsOnVmxRootMode
Definition State.h:291
 
BOOLEAN RegisterBreakOnMtf
Definition State.h:298
 
BOOLEAN Test
Definition State.h:303
 
UINT32 CoreId
Definition State.h:306
 
UINT64 IoBitmapPhysicalAddressB
Definition State.h:320
 
UINT64 IoBitmapVirtualAddressA
Definition State.h:317
 
BOOLEAN EnableExternalInterruptsOnContinue
Definition State.h:296
 
VM_EXIT_TRANSPARENCY TransparencyState
Definition State.h:330
 
UINT64 LastVmexitRip
Definition State.h:309
 
UINT64 VmcsRegionVirtualAddress
Definition State.h:313
 
UINT64 VmxonRegionPhysicalAddress
Definition State.h:310
 
The status of transparency of each core after and before VMX.
Definition State.h:137
 
UINT64 RevealedTimeStampCounterByRdtsc
Definition State.h:141
 
UINT64 PreviousTimeStampCounter
Definition State.h:138
 
HANDLE ThreadId
Definition State.h:140
 
BOOLEAN CpuidAfterRdtscDetected
Definition State.h:142
 
Structure for saving EPT Table.
Definition State.h:105
 
EPT_PML4_POINTER PML4[VMM_EPT_PML4E_COUNT]
28.2.2 Describes 512 contiguous 512GB memory regions each with 512 1GB regions.
Definition State.h:110
 
EPT_PML3_POINTER PML3[VMM_EPT_PML3E_COUNT]
Describes exactly 512 contiguous 1GB memory regions within a our singular 512GB PML4 region.
Definition State.h:116
 
EPT_PML2_ENTRY PML2[VMM_EPT_PML3E_COUNT][VMM_EPT_PML2E_COUNT]
For each 1GB PML3 entry, create 512 2MB entries to map identity. NOTE: We are using 2MB pages as the ...
Definition State.h:124
 
Save the state of core in the case of VMXOFF.
Definition State.h:151
 
UINT64 GuestRip
Definition State.h:153
 
UINT64 GuestRsp
Definition State.h:154
 
BOOLEAN IsVmxoffExecuted
Definition State.h:152
 
Definition BasicTypes.h:70