load (load the kernel modules)
Description of the 'load' command in HyperDbg.
load [ModuleName (string)]
Loads the HyperDbg's drivers and kernel modules into the target system.
The name of the module that you want to load.
The debugger functions are implemented on top of 'vmm' module.
vmm : this module contains commands related to the debugger and all hypervisor-related capabilities. Currently, vmm is the only module of HyperDbg.
The following example loads
HyperDbg> load vmm
This command causes to run a
CreateFilein the target system, in
IRP_MJ_CREATE, the driver loads the modules like vt-x and debugger and all other kernel modules, so it doesn't have an IOCTL. You can call
CreateFileto the driver's device and get a handle.
If you're using APIs, the following export in hprdbgctrl can be used.
HPRDBGCTRL_API int HyperdbgLoadVmm();
- 1.Only one application can get the device handle; after that, no other application is able to create a handle from the device or, in other words, is not able to call
loadcommand until the first app releases the handle (by
CloseHandle) or call
- 2.The application that requests to load the kernel modules should have
SeDebugPrivilegeto obtain a handle, otherwise an
This command will continue the debuggee for some time (in Debugger Mode). This means that you lose the current context (registers & memory) after executing this command.
- Intel VT-x is required to be enabled to perform this action.
- Intel Extended Page Table (a.k.a. SLAT) should be present in the processor. If you have a Nehalem (2008) processor or a newer processor, then it supports this feature.