MCPcopy Create free account

hub / github.com/SinaKarvandi/Hypervisor-From-Scratch / functions

Functions326 in github.com/SinaKarvandi/Hypervisor-From-Scratch

FunctionBroadcastToProcessors
This function is deprecated as we want to supporrt more than 32 processors. Broadcast a function to all logical cores */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:32
FunctionBroadcastToProcessors
This function is deprecated as we want to supporrt more than 32 processors. Broadcast a function to all logical cores */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Common.c:32
FunctionCheckGuestVmcsFieldsForVmEntry
* @brief Checks validity of the guest VMCS fields for VM-entry as per * 26.3 CHECKING AND LOADING GUEST STATE. Very helpful to diagnose VM-entry
Part 5 - Setting up VMCS & Running Guest Code/VMCS-Checks/CheckGuestVmcsFieldsForVmEntry.c:407
FunctionDriverEntry
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:7
FunctionDriverEntry
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:8
FunctionDriverEntry
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:8
FunctionDriverEntry
Main Driver Entry in the case of driver load */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:8
FunctionDriverEntry
Main Driver Entry in the case of driver load */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:12
FunctionDriverEntry
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:8
FunctionDriverEntry
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:6
FunctionDrvClose
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:106
FunctionDrvClose
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:116
FunctionDrvClose
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:112
FunctionDrvClose
IRP_MJ_CLOSE Function handler*/
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:100
FunctionDrvClose
IRP_MJ_CLOSE Function handler*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:177
FunctionDrvClose
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:121
FunctionDrvClose
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:111
FunctionDrvCreate
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:64
FunctionDrvCreate
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:53
FunctionDrvCreate
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:70
FunctionDrvCreate
IRP_MJ_CREATE Function handler*/
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:55
FunctionDrvCreate
IRP_MJ_CREATE Function handler*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:115
FunctionDrvCreate
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:80
FunctionDrvCreate
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:68
FunctionDrvDispatchIoControl
Driver IOCTL Dispatcher*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:207
FunctionDrvIOCTLDispatcher
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:169
FunctionDrvIoctlDispatcher
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:161
FunctionDrvIoctlDispatcher
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:167
FunctionDrvIoctlDispatcher
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:176
FunctionDrvRead
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:82
FunctionDrvRead
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:92
FunctionDrvRead
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:88
FunctionDrvRead
IRP_MJ_READ Function handler*/
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:76
FunctionDrvRead
IRP_MJ_READ Function handler*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:153
FunctionDrvRead
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:97
FunctionDrvRead
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:85
FunctionDrvUnload
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:51
FunctionDrvUnload
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:43
FunctionDrvUnload
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:57
FunctionDrvUnload
Run in the case of driver unload to unregister the devices */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:42
FunctionDrvUnload
Run in the case of driver unload to unregister the devices */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:89
FunctionDrvUnload
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:70
FunctionDrvUnload
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:55
FunctionDrvUnsupported
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:123
FunctionDrvUnsupported
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:131
FunctionDrvUnsupported
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:129
FunctionDrvUnsupported
Unsupported message for all other IRP_MJ_* handlers */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:118
FunctionDrvUnsupported
Unsupported message for all other IRP_MJ_* handlers */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:195
FunctionDrvUnsupported
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:138
FunctionDrvUnsupported
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:124
FunctionDrvWrite
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:94
FunctionDrvWrite
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:104
FunctionDrvWrite
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:100
FunctionDrvWrite
IRP_MJ_WRITE Function handler*/
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:88
FunctionDrvWrite
IRP_MJ_WRITE Function handler*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:165
FunctionDrvWrite
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:109
FunctionDrvWrite
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:98
FunctionEventInjectGeneralProtection
Inject #GP to the guest (Event Injection) */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Events.c:32
FunctionEventInjectUndefinedOpcode
Inject #UD to the guest (Invalid Opcode - Undefined Opcode) */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Events.c:42
FunctionExAllocatePoolWithTagHook
Hook function that HooksExAllocatePoolWithTag */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HiddenHooks.c:11
FunctionGetBit
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Processor.c:116
FunctionGetBit
Get Bits of a special address (used on MSR Bitmaps) */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:94
FunctionGetBit
Get Bits of a special address (used on MSR Bitmaps) */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Common.c:94
FunctionHiddenHooksTest
Make examples for testing hidden hooks */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HiddenHooks.c:24
FunctionHvDpcBroadcastInitializeGuest
The broadcast function which initialize the guest. */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:452
FunctionHvDpcBroadcastInitializeGuest
The broadcast function which initialize the guest. */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:469
FunctionHvDpcBroadcastRemoveHookAndInvalidateAllEntries
The broadcast function which removes all the hooks and invalidate TLB. */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:572
FunctionHvDpcBroadcastRemoveHookAndInvalidateSingleEntry
The broadcast function which removes the single hook and invalidate TLB. */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:585
FunctionHvDpcBroadcastTerminateGuest
The broadcast function which terminate the guest. */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:489
FunctionHvDpcBroadcastTerminateGuest
The broadcast function which terminate the guest. */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:504
FunctionHvInvalidateEptByVmcall
Invalidate EPT using Vmcall (should be called from Vmx non root mode) */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:423
FunctionHvInvalidateEptByVmcall
Invalidate EPT using Vmcall (should be called from Vmx non root mode) */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:440
FunctionHvPerformPageUnHookSinglePage
Remove single hook from the hooked pages list and invalidate TLB */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:599
FunctionHvReturnInstructionPointerForVmxoff
Returns the instruction pointer, to change in the case of Vmxoff */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:445
FunctionHvReturnInstructionPointerForVmxoff
Returns the instruction pointer, to change in the case of Vmxoff */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:462
FunctionHvReturnStackPointerForVmxoff
Returns the stack pointer, to change in the case of Vmxoff */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:439
FunctionHvReturnStackPointerForVmxoff
Returns the stack pointer, to change in the case of Vmxoff */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:456
FunctionHvSetGuestSelector
Set guest's selector registers */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:114
FunctionHvSetGuestSelector
Set guest's selector registers */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:108
FunctionHvSetMsrBitmap
Set bits in Msr Bitmap */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:361
FunctionHvSetMsrBitmap
Set bits in Msr Bitmap */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:378
FunctionInveptAllContexts
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/EPT.c:174
FunctionInveptAllContexts
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/EPT.c:167
FunctionInveptAllContexts
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/EPT.c:173
FunctionInveptSingleContext
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/EPT.c:180
FunctionInveptSingleContext
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/EPT.c:173
FunctionInveptSingleContext
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/EPT.c:179
FunctionInvvpidAllContexts
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Vpid.c:28
FunctionInvvpidIndividualAddress
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Vpid.c:16
FunctionInvvpidSingleContextRetainingGlobals
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Vpid.c:33
FunctionLogNotifyUsermodeCallback
Complete the IRP in IRP Pending state and fill the usermode buffers with pool data */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Logging.c:483
FunctionLogPrintError
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:131
FunctionLogPrintInfo
Print logs in different levels */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:125
FunctionLogPrintWarning
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:128
FunctionLogSendMessageToQueue
Send string messages and tracing for logging and monitoring
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Logging.c:292
FunctionMainVmexitHandler
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/VMX.c:731
FunctionMainVmexitHandler
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/VMX.c:443
FunctionMathPower
Power function in order to computer address for MSR bitmaps */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:8
FunctionMathPower
Power function in order to computer address for MSR bitmaps */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Common.c:8
FunctionNtCreateFileHook
Hook function that hooks NtCreateFile */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/SyscallHook.c:167
← previousnext →201–300 of 326, ranked by callers