HyperDbg Debugger
Loading...
Searching...
No Matches
Broadcast.h File Reference

The broadcast (DPC) function to all the cores for debugger commands. More...

Go to the source code of this file.

Functions

VOID BroadcastVmxVirtualizationAllCores ()
 routines to broadcast virtualization and vmx initialization on all cores
 
VOID BroadcastEnableNmiExitingAllCores ()
 routines to set vm-exit on all NMIs on all cores
 
VOID BroadcastDisableNmiExitingAllCores ()
 routines to set vm-exit on all NMIs on all cores
 
VOID BroadcastNotifyAllToInvalidateEptAllCores ()
 routines to notify to invalidate their ept on all cores
 
VOID BroadcastEnablePmlOnAllProcessors ()
 routines for enabling PML on all cores
 
VOID BroadcastDisablePmlOnAllProcessors ()
 routines for disabling PML on all cores
 
VOID BroadcastChangeToMbecSupportedEptpOnAllProcessors ()
 routines for changing EPTP to an MBEC supported EPTP
 
VOID BroadcastRestoreToNormalEptpOnAllProcessors ()
 routines for restoring EPTP to normal EPTP
 
VOID BroadcasDisableMbecOnAllProcessors ()
 routines for disabling MBEC
 
VOID BroadcasEnableMbecOnAllProcessors ()
 routines for enabling MBEC
 

Detailed Description

The broadcast (DPC) function to all the cores for debugger commands.

Author
Sina Karvandi (sina@.nosp@m.hype.nosp@m.rdbg..nosp@m.org)
Version
0.1
Date
2020-04-17

Function Documentation

◆ BroadcasDisableMbecOnAllProcessors()

VOID BroadcasDisableMbecOnAllProcessors ( )

routines for disabling MBEC

Returns
VOID
470{
471 KeGenericCallDpc(DpcRoutineEnableOrDisableMbec, 0x0);
472}
VOID DpcRoutineEnableOrDisableMbec(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast to enable or disable MBEC.
Definition DpcRoutines.c:540

◆ BroadcasEnableMbecOnAllProcessors()

VOID BroadcasEnableMbecOnAllProcessors ( )

routines for enabling MBEC

Returns
VOID
481{
482 KeGenericCallDpc(DpcRoutineEnableOrDisableMbec, (PVOID)0x1);
483}

◆ BroadcastChangeToMbecSupportedEptpOnAllProcessors()

VOID BroadcastChangeToMbecSupportedEptpOnAllProcessors ( )

routines for changing EPTP to an MBEC supported EPTP

Returns
VOID
448{
449 KeGenericCallDpc(DpcRoutineChangeToMbecSupportedEptp, 0x0);
450}
VOID DpcRoutineChangeToMbecSupportedEptp(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast to change to MBEC supported EPTP.
Definition DpcRoutines.c:478

◆ BroadcastDisableNmiExitingAllCores()

VOID BroadcastDisableNmiExitingAllCores ( )

routines to set vm-exit on all NMIs on all cores

Returns
VOID
106{
107 //
108 // Broadcast to all cores
109 //
110 KeGenericCallDpc(DpcRoutineDisableNmiVmexitOnAllCores, NULL);
111}
VOID DpcRoutineDisableNmiVmexitOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Disable vm-exit on NMIs on all cores.
Definition DpcRoutines.c:1504

◆ BroadcastDisablePmlOnAllProcessors()

VOID BroadcastDisablePmlOnAllProcessors ( )

routines for disabling PML on all cores

Returns
VOID
536{
537 KeGenericCallDpc(DpcRoutineDisablePml, 0x0);
538}
VOID DpcRoutineDisablePml(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast disable PML on all cores.
Definition DpcRoutines.c:695

◆ BroadcastEnableNmiExitingAllCores()

VOID BroadcastEnableNmiExitingAllCores ( )

routines to set vm-exit on all NMIs on all cores

Returns
VOID
92{
93 //
94 // Broadcast to all cores
95 //
96 KeGenericCallDpc(DpcRoutineEnableNmiVmexitOnAllCores, NULL);
97}
VOID DpcRoutineEnableNmiVmexitOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Enable vm-exit on NMIs on all cores.
Definition DpcRoutines.c:1473

◆ BroadcastEnablePmlOnAllProcessors()

VOID BroadcastEnablePmlOnAllProcessors ( )

routines for enabling PML on all cores

Returns
VOID
525{
526 KeGenericCallDpc(DpcRoutineEnablePml, 0x0);
527}
VOID DpcRoutineEnablePml(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast enable PML on all cores.
Definition DpcRoutines.c:664

◆ BroadcastNotifyAllToInvalidateEptAllCores()

VOID BroadcastNotifyAllToInvalidateEptAllCores ( )

routines to notify to invalidate their ept on all cores

Returns
VOID
120{
121 //
122 // Broadcast to all cores
123 //
124 KeGenericCallDpc(DpcRoutineInvalidateEptOnAllCores, (PVOID)TRUE);
125}
#define TRUE
Definition BasicTypes.h:55
VOID DpcRoutineInvalidateEptOnAllCores(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
The broadcast function which invalidate EPT using Vmcall.
Definition DpcRoutines.c:1671

◆ BroadcastRestoreToNormalEptpOnAllProcessors()

VOID BroadcastRestoreToNormalEptpOnAllProcessors ( )

routines for restoring EPTP to normal EPTP

Returns
VOID
459{
460 KeGenericCallDpc(DpcRoutineRestoreToNormalEptp, 0x0);
461}
VOID DpcRoutineRestoreToNormalEptp(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast to restore to normal EPTP.
Definition DpcRoutines.c:509

◆ BroadcastVmxVirtualizationAllCores()

VOID BroadcastVmxVirtualizationAllCores ( )

routines to broadcast virtualization and vmx initialization on all cores

Returns
VOID
22{
23 //
24 // Broadcast to all cores
25 //
26 KeGenericCallDpc(DpcRoutinePerformVirtualization, NULL);
27}
BOOLEAN DpcRoutinePerformVirtualization(KDPC *Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
Broadcast VmxPerformVirtualizationOnSpecificCore.
Definition DpcRoutines.c:128