HyperDbg Debugger
|
Functions relating to Exception Bitmap and Event (Interrupt and Exception) Injection. More...
#include "pch.h"
Functions | |
VOID | EventInjectInterruption (INTERRUPT_TYPE InterruptionType, EXCEPTION_VECTORS Vector, BOOLEAN DeliverErrorCode, UINT32 ErrorCode) |
Injects interruption to a guest. | |
VOID | EventInjectBreakpoint () |
Inject #BP to the guest (Event Injection) | |
VOID | EventInjectGeneralProtection () |
Inject #GP to the guest (Event Injection) | |
VOID | EventInjectUndefinedOpcode (VIRTUAL_MACHINE_STATE *VCpu) |
Inject #UD to the guest (Invalid Opcode - Undefined Opcode) | |
VOID | EventInjectNmi (VIRTUAL_MACHINE_STATE *VCpu) |
Inject NMI to the guest (Event Injection) | |
VOID | EventInjectDebugBreakpoint () |
Inject Debug Breakpoint Exception. | |
VOID | EventInjectPageFaultWithoutErrorCode (UINT64 PageFaultAddress) |
Inject #PF to the guest (Page-Fault for EFER Injector) | |
VOID | EventInjectInterruptOrException (_In_ VMEXIT_INTERRUPT_INFORMATION InterruptExit) |
re-inject interrupt or exception to the guest | |
VOID | EventInjectPageFaults (_Inout_ VIRTUAL_MACHINE_STATE *VCpu, _In_ VMEXIT_INTERRUPT_INFORMATION InterruptExit, _In_ UINT64 PageFaultAddress, _In_ PAGE_FAULT_EXCEPTION PageFaultCode) |
inject #PFs to the guest | |
VOID | EventInjectPageFaultRangeAddress (VIRTUAL_MACHINE_STATE *VCpu, UINT64 AddressFrom, UINT64 AddressTo, UINT32 PageFaultCode) |
Inject a range of page-faults. | |
VOID | EventInjectPageFaultWithCr2 (VIRTUAL_MACHINE_STATE *VCpu, UINT64 Address, UINT32 PageFaultCode) |
Inject page-fault with an address as cr2. | |
Functions relating to Exception Bitmap and Event (Interrupt and Exception) Injection.
VOID EventInjectBreakpoint | ( | ) |
Inject #BP to the guest (Event Injection)
VOID EventInjectDebugBreakpoint | ( | ) |
Inject Debug Breakpoint Exception.
VOID EventInjectGeneralProtection | ( | ) |
Inject #GP to the guest (Event Injection)
VOID EventInjectInterruption | ( | INTERRUPT_TYPE | InterruptionType, |
EXCEPTION_VECTORS | Vector, | ||
BOOLEAN | DeliverErrorCode, | ||
UINT32 | ErrorCode ) |
Injects interruption to a guest.
InterruptionType | Type of interrupt |
Vector | Vector Number of Interrupt (IDT Index) |
DeliverErrorCode | Deliver Error Code or Not |
ErrorCode | Error Code (If DeliverErrorCode is true) |
VOID EventInjectInterruptOrException | ( | _In_ VMEXIT_INTERRUPT_INFORMATION | InterruptExit | ) |
re-inject interrupt or exception to the guest
InterruptExit | interrupt info from vm-exit |
VOID EventInjectNmi | ( | VIRTUAL_MACHINE_STATE * | VCpu | ) |
Inject NMI to the guest (Event Injection)
VCpu | The virtual processor's state |
VOID EventInjectPageFaultRangeAddress | ( | VIRTUAL_MACHINE_STATE * | VCpu, |
UINT64 | AddressFrom, | ||
UINT64 | AddressTo, | ||
UINT32 | PageFaultCode ) |
Inject a range of page-faults.
VCpu | The virtual processor's state |
AddressFrom | Page-fault address (from) |
AddressTo | Page-fault address (to) |
Address | Page-fault address |
PageFaultCode | Page-fault error code |
VOID EventInjectPageFaults | ( | _Inout_ VIRTUAL_MACHINE_STATE * | VCpu, |
_In_ VMEXIT_INTERRUPT_INFORMATION | InterruptExit, | ||
_In_ UINT64 | PageFaultAddress, | ||
_In_ PAGE_FAULT_EXCEPTION | PageFaultCode ) |
inject #PFs to the guest
VCpu | The virtual processor's state |
InterruptExit | interrupt info from vm-exit |
PageFaultAddress | Page-fault address to be placed to cr2 register |
PageFaultCode | Page-fault error code |
VOID EventInjectPageFaultWithCr2 | ( | VIRTUAL_MACHINE_STATE * | VCpu, |
UINT64 | Address, | ||
UINT32 | PageFaultCode ) |
Inject page-fault with an address as cr2.
VCpu | The virtual processor's state |
Address | Page-fault address |
PageFaultCode | Page-fault error code |
Inject #PF to the guest (Page-Fault for EFER Injector)
PageFaultAddress | Address of page fault |
VOID EventInjectUndefinedOpcode | ( | VIRTUAL_MACHINE_STATE * | VCpu | ) |
Inject #UD to the guest (Invalid Opcode - Undefined Opcode)
VCpu | The virtual processor's state |