HyperDbg Debugger
|
All the dpc routines which relates to executing on a single core for multi-core you can use Broadcast.c. More...
#include "pch.h"
Functions | |
NTSTATUS | DpcRoutineRunTaskOnSingleCore (UINT32 CoreNumber, PVOID Routine, PVOID DeferredContext) |
This function synchronize the function execution for a single core You should only used it for one core, not in multiple threads simultaneously The function that needs to use this feature (Routine parameter function) should have the when it ends : | |
BOOLEAN | DpcRoutinePerformVirtualization (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast VmxPerformVirtualizationOnSpecificCore. | |
VOID | DpcRoutinePerformChangeMsrBitmapReadOnSingleCore (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
change msr bitmap read on a single core | |
VOID | DpcRoutinePerformChangeMsrBitmapWriteOnSingleCore (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
change msr bitmap write on a single core | |
VOID | DpcRoutinePerformEnableRdtscExitingOnSingleCore (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
set rdtsc/rdtscp exiting | |
VOID | DpcRoutinePerformEnableRdpmcExitingOnSingleCore (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
set rdpmc exiting | |
VOID | DpcRoutinePerformSetExceptionBitmapOnSingleCore (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
change exception bitmap on a single core | |
VOID | DpcRoutinePerformEnableMovToDebugRegistersExiting (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Set the Mov to Debug Registers Exitings. | |
VOID | DpcRoutinePerformEnableMovToControlRegisterExiting (KDPC *Dpc, DEBUGGER_EVENT_OPTIONS *EventOptions, PVOID SystemArgument1, PVOID SystemArgument2) |
Set the Mov to Control Registers Exitings. | |
VOID | DpcRoutinePerformSetExternalInterruptExitingOnSingleCore (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enable external interrupt exiting on a single core. | |
VOID | DpcRoutinePerformEnableEferSyscallHookOnSingleCore (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enable syscall hook EFER on a single core. | |
VOID | DpcRoutinePerformChangeIoBitmapOnSingleCore (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
change I/O bitmap on a single core | |
VOID | DpcRoutineEnableMovToCr3Exiting (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast to enable mov-to-cr3 exitings. | |
VOID | DpcRoutineChangeToMbecSupportedEptp (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast to change to MBEC supported EPTP. | |
VOID | DpcRoutineRestoreToNormalEptp (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast to restore to normal EPTP. | |
VOID | DpcRoutineEnableOrDisableMbec (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast to enable or disable MBEC. | |
VOID | DpcRoutineDisableMovToCr3Exiting (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast to disable mov-to-cr3 exitings. | |
VOID | DpcRoutineEnableEferSyscallEvents (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast syscall hook to all cores. | |
VOID | DpcRoutineDisableEferSyscallEvents (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast syscall unhook to all cores. | |
VOID | DpcRoutineEnablePml (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast enable PML on all cores. | |
VOID | DpcRoutineDisablePml (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Broadcast disable PML on all cores. | |
VOID | DpcRoutineChangeMsrBitmapReadOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disable Msr Bitmaps on all cores (vm-exit on all msrs) | |
VOID | DpcRoutineResetMsrBitmapReadOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Reset Msr Bitmaps on all cores (vm-exit on all msrs) | |
VOID | DpcRoutineChangeMsrBitmapWriteOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disable Msr Bitmaps on all cores (vm-exit on all msrs) | |
VOID | DpcRoutineResetMsrBitmapWriteOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Reset Msr Bitmaps on all cores (vm-exit on all msrs) | |
VOID | DpcRoutineEnableRdtscExitingAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enables rdtsc/rdtscp exiting in primary cpu-based controls. | |
VOID | DpcRoutineDisableRdtscExitingAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disables rdtsc/rdtscp exiting in primary cpu-based controls. | |
VOID | DpcRoutineDisableRdtscExitingForClearingTscEventsAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disables rdtsc/rdtscp exiting in primary cpu-based controls ONLY for clearing !tsc events. | |
VOID | DpcRoutineDisableMov2DrExitingForClearingDrEventsAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disables mov to debug registers exiting ONLY for clearing !dr events. | |
VOID | DpcRoutineDisableMov2CrExitingForClearingCrEventsAllCores (KDPC *Dpc, DEBUGGER_EVENT_OPTIONS *EventOptions, PVOID SystemArgument1, PVOID SystemArgument2) |
Disables mov to control registers exiting ONLY for clearing !crwrite events. | |
VOID | DpcRoutineEnableRdpmcExitingAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enables rdpmc exiting in primary cpu-based controls. | |
VOID | DpcRoutineDisableRdpmcExitingAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disable rdpmc exiting in primary cpu-based controls. | |
VOID | DpcRoutineSetExceptionBitmapOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enable Exception Bitmaps on all cores. | |
VOID | DpcRoutineUnsetExceptionBitmapOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disable Exception Bitmaps on all cores. | |
VOID | DpcRoutineResetExceptionBitmapOnlyOnClearingExceptionEventsOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Reset Exception Bitmaps on all cores. | |
VOID | DpcRoutineEnableMovDebigRegisterExitingAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enables mov debug registers exitings. | |
VOID | DpcRoutineEnableMovControlRegisterExitingAllCores (KDPC *Dpc, DEBUGGER_EVENT_OPTIONS *EventOptions, PVOID SystemArgument1, PVOID SystemArgument2) |
Enables mov control registers exitings. | |
VOID | DpcRoutineDisableMovControlRegisterExitingAllCores (KDPC *Dpc, DEBUGGER_EVENT_OPTIONS *EventOptions, PVOID SystemArgument1, PVOID SystemArgument2) |
Disables mov control registers exitings. | |
VOID | DpcRoutineDisableMovDebigRegisterExitingAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disables mov debug registers exitings. | |
VOID | DpcRoutineSetEnableExternalInterruptExitingOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enable vm-exit on all cores for external interrupts. | |
VOID | DpcRoutineSetDisableExternalInterruptExitingOnlyOnClearingInterruptEventsOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disable vm-exit on all cores for external interrupts only for clearing !interrupt events. | |
VOID | DpcRoutineChangeIoBitmapOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Change I/O Bitmaps on all cores. | |
VOID | DpcRoutineResetIoBitmapOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Reset I/O Bitmaps on all cores. | |
VOID | DpcRoutineEnableBreakpointOnExceptionBitmapOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enable breakpoint exiting on exception bitmaps on all cores. | |
VOID | DpcRoutineDisableBreakpointOnExceptionBitmapOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disable breakpoint exiting on exception bitmaps on all cores. | |
VOID | DpcRoutineEnableNmiVmexitOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enable vm-exit on NMIs on all cores. | |
VOID | DpcRoutineDisableNmiVmexitOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disable vm-exit on NMIs on all cores. | |
VOID | DpcRoutineEnableDbAndBpExitingOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Enable vm-exit on #DBs and #BPs on all cores. | |
VOID | DpcRoutineDisableDbAndBpExitingOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
Disable vm-exit on #DBs and #BPs on all cores. | |
VOID | DpcRoutineRemoveHookAndInvalidateAllEntriesOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
The broadcast function which removes all the hooks and invalidate TLB. | |
VOID | DpcRoutineRemoveHookAndInvalidateSingleEntryOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
The broadcast function which removes the single hook and invalidate TLB. | |
VOID | DpcRoutineInvalidateEptOnAllCores (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
The broadcast function which invalidate EPT using Vmcall. | |
VOID | DpcRoutineInitializeGuest (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
The broadcast function which initialize the guest. | |
VOID | DpcRoutineTerminateGuest (KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2) |
The broadcast function which terminate the guest. | |
Variables | |
volatile LONG | OneCoreLock |
lock for one core execution | |
All the dpc routines which relates to executing on a single core for multi-core you can use Broadcast.c.
VOID DpcRoutineChangeIoBitmapOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Change I/O Bitmaps on all cores.
Dpc | |
DeferredContext | I/O Port index |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineChangeMsrBitmapReadOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disable Msr Bitmaps on all cores (vm-exit on all msrs)
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineChangeMsrBitmapWriteOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disable Msr Bitmaps on all cores (vm-exit on all msrs)
Dpc | |
DeferredContext | Msr index to be masked on msr bitmap |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineChangeToMbecSupportedEptp | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast to change to MBEC supported EPTP.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableBreakpointOnExceptionBitmapOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disable breakpoint exiting on exception bitmaps on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableDbAndBpExitingOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disable vm-exit on #DBs and #BPs on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableEferSyscallEvents | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast syscall unhook to all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableMov2CrExitingForClearingCrEventsAllCores | ( | KDPC * | Dpc, |
DEBUGGER_EVENT_OPTIONS * | EventOptions, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disables mov to control registers exiting ONLY for clearing !crwrite events.
Dpc | |
Event | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableMov2DrExitingForClearingDrEventsAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disables mov to debug registers exiting ONLY for clearing !dr events.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableMovControlRegisterExitingAllCores | ( | KDPC * | Dpc, |
DEBUGGER_EVENT_OPTIONS * | EventOptions, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disables mov control registers exitings.
Dpc | |
Event | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableMovDebigRegisterExitingAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disables mov debug registers exitings.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableMovToCr3Exiting | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast to disable mov-to-cr3 exitings.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableNmiVmexitOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disable vm-exit on NMIs on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisablePml | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast disable PML on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableRdpmcExitingAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disable rdpmc exiting in primary cpu-based controls.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableRdtscExitingAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disables rdtsc/rdtscp exiting in primary cpu-based controls.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineDisableRdtscExitingForClearingTscEventsAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disables rdtsc/rdtscp exiting in primary cpu-based controls ONLY for clearing !tsc events.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableBreakpointOnExceptionBitmapOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enable breakpoint exiting on exception bitmaps on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableDbAndBpExitingOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enable vm-exit on #DBs and #BPs on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableEferSyscallEvents | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast syscall hook to all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableMovControlRegisterExitingAllCores | ( | KDPC * | Dpc, |
DEBUGGER_EVENT_OPTIONS * | EventOptions, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enables mov control registers exitings.
Dpc | |
Event | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableMovDebigRegisterExitingAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enables mov debug registers exitings.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableMovToCr3Exiting | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast to enable mov-to-cr3 exitings.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableNmiVmexitOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enable vm-exit on NMIs on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableOrDisableMbec | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast to enable or disable MBEC.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnablePml | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast enable PML on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableRdpmcExitingAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enables rdpmc exiting in primary cpu-based controls.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineEnableRdtscExitingAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enables rdtsc/rdtscp exiting in primary cpu-based controls.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineInitializeGuest | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
The broadcast function which initialize the guest.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineInvalidateEptOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
The broadcast function which invalidate EPT using Vmcall.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformChangeIoBitmapOnSingleCore | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
change I/O bitmap on a single core
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformChangeMsrBitmapReadOnSingleCore | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
change msr bitmap read on a single core
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformChangeMsrBitmapWriteOnSingleCore | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
change msr bitmap write on a single core
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformEnableEferSyscallHookOnSingleCore | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enable syscall hook EFER on a single core.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformEnableMovToControlRegisterExiting | ( | KDPC * | Dpc, |
DEBUGGER_EVENT_OPTIONS * | EventOptions, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Set the Mov to Control Registers Exitings.
Dpc | |
Event | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformEnableMovToDebugRegistersExiting | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Set the Mov to Debug Registers Exitings.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformEnableRdpmcExitingOnSingleCore | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
set rdpmc exiting
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformEnableRdtscExitingOnSingleCore | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
set rdtsc/rdtscp exiting
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformSetExceptionBitmapOnSingleCore | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
change exception bitmap on a single core
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutinePerformSetExternalInterruptExitingOnSingleCore | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enable external interrupt exiting on a single core.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
BOOLEAN DpcRoutinePerformVirtualization | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast VmxPerformVirtualizationOnSpecificCore.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineRemoveHookAndInvalidateAllEntriesOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
The broadcast function which removes all the hooks and invalidate TLB.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineRemoveHookAndInvalidateSingleEntryOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
The broadcast function which removes the single hook and invalidate TLB.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineResetExceptionBitmapOnlyOnClearingExceptionEventsOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Reset Exception Bitmaps on all cores.
This function should ONLY be used in clearing !exception events
Dpc | |
DeferredContext | Exception index on IDT |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineResetIoBitmapOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Reset I/O Bitmaps on all cores.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineResetMsrBitmapReadOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Reset Msr Bitmaps on all cores (vm-exit on all msrs)
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineResetMsrBitmapWriteOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Reset Msr Bitmaps on all cores (vm-exit on all msrs)
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineRestoreToNormalEptp | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Broadcast to restore to normal EPTP.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
NTSTATUS DpcRoutineRunTaskOnSingleCore | ( | UINT32 | CoreNumber, |
PVOID | Routine, | ||
PVOID | DeferredContext ) |
This function synchronize the function execution for a single core You should only used it for one core, not in multiple threads simultaneously The function that needs to use this feature (Routine parameter function) should have the when it ends :
SpinlockUnlock(&OneCoreLock);
CoreNumber | core number that the target function should run on it |
Routine | the target function that should be ran |
DeferredContext | an optional parameter to Routine |
VOID DpcRoutineSetDisableExternalInterruptExitingOnlyOnClearingInterruptEventsOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disable vm-exit on all cores for external interrupts only for clearing !interrupt events.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineSetEnableExternalInterruptExitingOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enable vm-exit on all cores for external interrupts.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineSetExceptionBitmapOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Enable Exception Bitmaps on all cores.
Dpc | |
DeferredContext | Exception index on IDT |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineTerminateGuest | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
The broadcast function which terminate the guest.
Dpc | |
DeferredContext | |
SystemArgument1 | |
SystemArgument2 |
VOID DpcRoutineUnsetExceptionBitmapOnAllCores | ( | KDPC * | Dpc, |
PVOID | DeferredContext, | ||
PVOID | SystemArgument1, | ||
PVOID | SystemArgument2 ) |
Disable Exception Bitmaps on all cores.
Dpc | |
DeferredContext | Exception index on IDT |
SystemArgument1 | |
SystemArgument2 |
volatile LONG OneCoreLock |
lock for one core execution