Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/SinaKarvandi/Hypervisor-From-Scratch
/ functions
Functions
326 in github.com/SinaKarvandi/Hypervisor-From-Scratch
⨍
Functions
326
◇
Types & classes
83
Function
BroadcastToProcessors
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
Function
BroadcastToProcessors
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
Function
CheckGuestVmcsFieldsForVmEntry
* @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
Function
DriverEntry
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:7
Function
DriverEntry
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:8
Function
DriverEntry
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:8
Function
DriverEntry
Main Driver Entry in the case of driver load */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:8
Function
DriverEntry
Main Driver Entry in the case of driver load */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:12
Function
DriverEntry
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:8
Function
DriverEntry
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:6
Function
DrvClose
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:106
Function
DrvClose
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:116
Function
DrvClose
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:112
Function
DrvClose
IRP_MJ_CLOSE Function handler*/
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:100
Function
DrvClose
IRP_MJ_CLOSE Function handler*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:177
Function
DrvClose
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:121
Function
DrvClose
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:111
Function
DrvCreate
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:64
Function
DrvCreate
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:53
Function
DrvCreate
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:70
Function
DrvCreate
IRP_MJ_CREATE Function handler*/
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:55
Function
DrvCreate
IRP_MJ_CREATE Function handler*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:115
Function
DrvCreate
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:80
Function
DrvCreate
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:68
Function
DrvDispatchIoControl
Driver IOCTL Dispatcher*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:207
Function
DrvIOCTLDispatcher
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:169
Function
DrvIoctlDispatcher
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:161
Function
DrvIoctlDispatcher
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:167
Function
DrvIoctlDispatcher
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:176
Function
DrvRead
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:82
Function
DrvRead
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:92
Function
DrvRead
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:88
Function
DrvRead
IRP_MJ_READ Function handler*/
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:76
Function
DrvRead
IRP_MJ_READ Function handler*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:153
Function
DrvRead
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:97
Function
DrvRead
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:85
Function
DrvUnload
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:51
Function
DrvUnload
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:43
Function
DrvUnload
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:57
Function
DrvUnload
Run in the case of driver unload to unregister the devices */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:42
Function
DrvUnload
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
Function
DrvUnload
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:70
Function
DrvUnload
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:55
Function
DrvUnsupported
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:123
Function
DrvUnsupported
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:131
Function
DrvUnsupported
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:129
Function
DrvUnsupported
Unsupported message for all other IRP_MJ_* handlers */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:118
Function
DrvUnsupported
Unsupported message for all other IRP_MJ_* handlers */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:195
Function
DrvUnsupported
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:138
Function
DrvUnsupported
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:124
Function
DrvWrite
Part 3 - Setting up Our First Virtual Machine/MyHypervisorDriver/MyHypervisorDriver/Driver.c:94
Function
DrvWrite
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Driver.c:104
Function
DrvWrite
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/Driver.c:100
Function
DrvWrite
IRP_MJ_WRITE Function handler*/
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Driver.c:88
Function
DrvWrite
IRP_MJ_WRITE Function handler*/
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Driver.c:165
Function
DrvWrite
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/Driver.c:109
Function
DrvWrite
Part 2 - Entering VMX Operation/MyHypervisorDriver/MyHypervisorDriver/Source.c:98
Function
EventInjectGeneralProtection
Inject #GP to the guest (Event Injection) */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Events.c:32
Function
EventInjectUndefinedOpcode
Inject #UD to the guest (Invalid Opcode - Undefined Opcode) */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Events.c:42
Function
ExAllocatePoolWithTagHook
Hook function that HooksExAllocatePoolWithTag */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HiddenHooks.c:11
Function
GetBit
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/Processor.c:116
Function
GetBit
Get Bits of a special address (used on MSR Bitmaps) */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:94
Function
GetBit
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
Function
HiddenHooksTest
Make examples for testing hidden hooks */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HiddenHooks.c:24
Function
HvDpcBroadcastInitializeGuest
The broadcast function which initialize the guest. */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:452
Function
HvDpcBroadcastInitializeGuest
The broadcast function which initialize the guest. */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:469
Function
HvDpcBroadcastRemoveHookAndInvalidateAllEntries
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
Function
HvDpcBroadcastRemoveHookAndInvalidateSingleEntry
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
Function
HvDpcBroadcastTerminateGuest
The broadcast function which terminate the guest. */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:489
Function
HvDpcBroadcastTerminateGuest
The broadcast function which terminate the guest. */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:504
Function
HvInvalidateEptByVmcall
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
Function
HvInvalidateEptByVmcall
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
Function
HvPerformPageUnHookSinglePage
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
Function
HvReturnInstructionPointerForVmxoff
Returns the instruction pointer, to change in the case of Vmxoff */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:445
Function
HvReturnInstructionPointerForVmxoff
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
Function
HvReturnStackPointerForVmxoff
Returns the stack pointer, to change in the case of Vmxoff */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:439
Function
HvReturnStackPointerForVmxoff
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
Function
HvSetGuestSelector
Set guest's selector registers */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:114
Function
HvSetGuestSelector
Set guest's selector registers */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:108
Function
HvSetMsrBitmap
Set bits in Msr Bitmap */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/HypervisorRoutines.c:361
Function
HvSetMsrBitmap
Set bits in Msr Bitmap */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/HypervisorRoutines.c:378
Function
InveptAllContexts
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/EPT.c:174
Function
InveptAllContexts
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/EPT.c:167
Function
InveptAllContexts
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/EPT.c:173
Function
InveptSingleContext
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/EPT.c:180
Function
InveptSingleContext
Part 4 - Address Translation Using Extended Page Table (EPT)/MyHypervisorDriver/MyHypervisorDriver/EPT.c:173
Function
InveptSingleContext
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/EPT.c:179
Function
InvvpidAllContexts
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Vpid.c:28
Function
InvvpidIndividualAddress
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Vpid.c:16
Function
InvvpidSingleContextRetainingGlobals
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Vpid.c:33
Function
LogNotifyUsermodeCallback
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
Function
LogPrintError
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:131
Function
LogPrintInfo
Print logs in different levels */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:125
Function
LogPrintWarning
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:128
Function
LogSendMessageToQueue
Send string messages and tracing for logging and monitoring
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/Logging.c:292
Function
MainVmexitHandler
Part 6 - Virtualizing An Already Running System/MyHypervisorDriver/MyHypervisorDriver/VMX.c:731
Function
MainVmexitHandler
Part 5 - Setting up VMCS & Running Guest Code/MyHypervisorDriver/MyHypervisorDriver/VMX.c:443
Function
MathPower
Power function in order to computer address for MSR bitmaps */
Part 7 - Using EPT & Page-level Monitoring Features/MyHypervisorDriver/MyHypervisorDriver/Common.c:8
Function
MathPower
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
Function
NtCreateFileHook
Hook function that hooks NtCreateFile */
Part 8 - How To Do Magic With Hypervisor!/Hypervisor From Scratch/MyHypervisorDriver/SyscallHook.c:167
← previous
next →
201–300 of 326, ranked by callers