HyperDbg Debugger
|
Implementation of the functions related to the EFER Syscall Hook. More...
#include "pch.h"
Functions | |
VOID | SyscallHookConfigureEFER (VIRTUAL_MACHINE_STATE *VCpu, BOOLEAN EnableEFERSyscallHook) |
This function enables or disables EFER syscall hoo. | |
_Use_decl_annotations_ BOOLEAN | SyscallHookEmulateSYSCALL (VIRTUAL_MACHINE_STATE *VCpu) |
This function emulates the SYSCALL execution. | |
_Use_decl_annotations_ BOOLEAN | SyscallHookEmulateSYSRET (VIRTUAL_MACHINE_STATE *VCpu) |
This function emulates the SYSRET execution. | |
_Use_decl_annotations_ BOOLEAN | SyscallHookHandleUD (VIRTUAL_MACHINE_STATE *VCpu) |
Detect whether the #UD was because of Syscall or Sysret or not. | |
Implementation of the functions related to the EFER Syscall Hook.
This is derived by the method demonstrated at
also some of the functions derived from hvpp
VOID SyscallHookConfigureEFER | ( | VIRTUAL_MACHINE_STATE * | VCpu, |
BOOLEAN | EnableEFERSyscallHook ) |
This function enables or disables EFER syscall hoo.
This function should be called for the first time that we want to enable EFER hook because after calling this function EFER MSR is loaded from GUEST_EFER instead of loading from the regular EFER MSR.
VCpu | The virtual processor's state |
EnableEFERSyscallHook | Determines whether we want to enable syscall hook or disable syscall hook |
_Use_decl_annotations_ BOOLEAN SyscallHookEmulateSYSCALL | ( | VIRTUAL_MACHINE_STATE * | VCpu | ) |
This function emulates the SYSCALL execution.
VCpu | The virtual processor's state |
_Use_decl_annotations_ BOOLEAN SyscallHookEmulateSYSRET | ( | VIRTUAL_MACHINE_STATE * | VCpu | ) |
This function emulates the SYSRET execution.
VCpu | The virtual processor's state |
_Use_decl_annotations_ BOOLEAN SyscallHookHandleUD | ( | VIRTUAL_MACHINE_STATE * | VCpu | ) |
Detect whether the #UD was because of Syscall or Sysret or not.
VCpu | The virtual processor's state |