HyperDbg Debugger
|
Header for the implementation of applying events in halted cores. More...
Go to the source code of this file.
Macros | |
#define | DEBUGGER_HALTED_CORE_TASK_TEST 0x00000001 |
Halted core task for testing purpose. | |
#define | DEBUGGER_HALTED_CORE_TASK_RUN_VMCALL 0x00000002 |
Halted core task for running VMCALLs. | |
#define | DEBUGGER_HALTED_CORE_TASK_SET_PROCESS_INTERCEPTION 0x00000003 |
Halted core task for setting process interception. | |
#define | DEBUGGER_HALTED_CORE_TASK_SET_THREAD_INTERCEPTION 0x00000004 |
Halted core task for setting thread interception. | |
#define | DEBUGGER_HALTED_CORE_TASK_CHANGE_MSR_BITMAP_READ 0x00000005 |
Halted core task for changing MSR Bitmap Read. | |
#define | DEBUGGER_HALTED_CORE_TASK_CHANGE_MSR_BITMAP_WRITE 0x00000006 |
Halted core task for changing MSR Bitmap Write. | |
#define | DEBUGGER_HALTED_CORE_TASK_CHANGE_IO_BITMAP 0x00000007 |
Halted core task for changing I/O Bitmaps (A & B) | |
#define | DEBUGGER_HALTED_CORE_TASK_SET_RDPMC_EXITING 0x00000008 |
Halted core task for enabling rdpmc exiting. | |
#define | DEBUGGER_HALTED_CORE_TASK_SET_RDTSC_EXITING 0x00000009 |
Halted core task for enabling rdtsc/rdtscp exiting. | |
#define | DEBUGGER_HALTED_CORE_TASK_ENABLE_MOV_TO_DEBUG_REGS_EXITING 0x0000000a |
Halted core task for enabling mov to debug registers exiting. | |
#define | DEBUGGER_HALTED_CORE_TASK_SET_EXCEPTION_BITMAP 0x0000000b |
Halted core task for setting exception bitmap. | |
#define | DEBUGGER_HALTED_CORE_TASK_ENABLE_EXTERNAL_INTERRUPT_EXITING 0x0000000c |
Halted core task for enabling external interrupt exiting. | |
#define | DEBUGGER_HALTED_CORE_TASK_ENABLE_MOV_TO_CONTROL_REGS_EXITING 0x0000000d |
Halted core task for enabling mov to CR exiting. | |
#define | DEBUGGER_HALTED_CORE_TASK_ENABLE_SYSCALL_HOOK_EFER 0x0000000e |
Halted core task for enabling syscall hook using EFER SCE bit. | |
#define | DEBUGGER_HALTED_CORE_TASK_INVEPT_ALL_CONTEXTS 0x0000000f |
Halted core task for invalidating EPT (All Contexts) | |
#define | DEBUGGER_HALTED_CORE_TASK_INVEPT_SINGLE_CONTEXT 0x00000010 |
Halted core task for invalidating EPT (A Single Context) | |
#define | DEBUGGER_HALTED_CORE_TASK_UNSET_EXCEPTION_BITMAP 0x00000011 |
Halted core task for unsetting exception bitmap on VMCS. | |
#define | DEBUGGER_HALTED_CORE_TASK_UNHOOK_SINGLE_PAGE 0x00000012 |
Halted core task for restoring a single EPT entry and invalidating EPT cache. | |
#define | DEBUGGER_HALTED_CORE_TASK_DISABLE_EXTERNAL_INTERRUPT_EXITING_ONLY_TO_CLEAR_INTERRUPT_COMMANDS 0x00000013 |
Halted core task for disabling external interrupt exiting only to clear !interrupt commands. | |
#define | DEBUGGER_HALTED_CORE_TASK_RESET_MSR_BITMAP_READ 0x00000014 |
Halted core task for resetting MSR Bitmap Read. | |
#define | DEBUGGER_HALTED_CORE_TASK_RESET_MSR_BITMAP_WRITE 0x00000015 |
Halted core task for resetting MSR Bitmap Write. | |
#define | DEBUGGER_HALTED_CORE_TASK_RESET_EXCEPTION_BITMAP_ONLY_ON_CLEARING_EXCEPTION_EVENTS 0x00000016 |
Halted core task for resetting exception bitmap on VMCS. | |
#define | DEBUGGER_HALTED_CORE_TASK_RESET_IO_BITMAP 0x00000017 |
Halted core task for resetting I/O Bitmaps (A & B) | |
#define | DEBUGGER_HALTED_CORE_TASK_DISABLE_RDTSC_EXITING_ONLY_FOR_TSC_EVENTS 0x00000018 |
Halted core task for clearing rdtsc exiting bit ONLY in the case of disabling the events for !tsc command. | |
#define | DEBUGGER_HALTED_CORE_TASK_UNSET_RDPMC_EXITING 0x00000019 |
Halted core task for disabling rdpmc exiting in primary cpu-based controls. | |
#define | DEBUGGER_HALTED_CORE_TASK_DISABLE_SYSCALL_HOOK_EFER 0x0000001a |
Halted core task for disabling syscall hook using EFER SCE bit. | |
#define | DEBUGGER_HALTED_CORE_TASK_DISABLE_MOV_TO_HW_DR_EXITING_ONLY_FOR_DR_EVENTS 0x0000001b |
Halted core task for clearing mov 2 hw dr exiting bit ONLY in the case of disabling the events for !dr command. | |
#define | DEBUGGER_HALTED_CORE_TASK_DISABLE_MOV_TO_CR_EXITING_ONLY_FOR_CR_EVENTS 0x0000001c |
Halted core task for clearing mov 2 cr exiting bit ONLY in the case of disabling the events for !crwrite command. | |
Functions | |
BOOLEAN | HaltedCoreBroadcastTaskAllCores (PROCESSOR_DEBUGGING_STATE *DbgState, UINT64 TargetTask, BOOLEAN LockAgainAfterTask, BOOLEAN Synchronize, PVOID Context) |
Broadcast tasks to halted cores. | |
VOID | HaltedCoreRunTaskOnSingleCore (UINT32 TargetCoreId, UINT64 TargetTask, BOOLEAN LockAgainAfterTask, PVOID Context) |
Run the task on a single halted core. | |
VOID | HaltedCorePerformTargetTask (PROCESSOR_DEBUGGING_STATE *DbgState, UINT64 TargetTask, PVOID Context) |
Perform the task on halted core. | |
Header for the implementation of applying events in halted cores.
#define DEBUGGER_HALTED_CORE_TASK_CHANGE_IO_BITMAP 0x00000007 |
Halted core task for changing I/O Bitmaps (A & B)
#define DEBUGGER_HALTED_CORE_TASK_CHANGE_MSR_BITMAP_READ 0x00000005 |
Halted core task for changing MSR Bitmap Read.
#define DEBUGGER_HALTED_CORE_TASK_CHANGE_MSR_BITMAP_WRITE 0x00000006 |
Halted core task for changing MSR Bitmap Write.
#define DEBUGGER_HALTED_CORE_TASK_DISABLE_EXTERNAL_INTERRUPT_EXITING_ONLY_TO_CLEAR_INTERRUPT_COMMANDS 0x00000013 |
Halted core task for disabling external interrupt exiting only to clear !interrupt commands.
#define DEBUGGER_HALTED_CORE_TASK_DISABLE_MOV_TO_CR_EXITING_ONLY_FOR_CR_EVENTS 0x0000001c |
Halted core task for clearing mov 2 cr exiting bit ONLY in the case of disabling the events for !crwrite command.
#define DEBUGGER_HALTED_CORE_TASK_DISABLE_MOV_TO_HW_DR_EXITING_ONLY_FOR_DR_EVENTS 0x0000001b |
Halted core task for clearing mov 2 hw dr exiting bit ONLY in the case of disabling the events for !dr command.
#define DEBUGGER_HALTED_CORE_TASK_DISABLE_RDTSC_EXITING_ONLY_FOR_TSC_EVENTS 0x00000018 |
Halted core task for clearing rdtsc exiting bit ONLY in the case of disabling the events for !tsc command.
#define DEBUGGER_HALTED_CORE_TASK_DISABLE_SYSCALL_HOOK_EFER 0x0000001a |
Halted core task for disabling syscall hook using EFER SCE bit.
#define DEBUGGER_HALTED_CORE_TASK_ENABLE_EXTERNAL_INTERRUPT_EXITING 0x0000000c |
Halted core task for enabling external interrupt exiting.
#define DEBUGGER_HALTED_CORE_TASK_ENABLE_MOV_TO_CONTROL_REGS_EXITING 0x0000000d |
Halted core task for enabling mov to CR exiting.
#define DEBUGGER_HALTED_CORE_TASK_ENABLE_MOV_TO_DEBUG_REGS_EXITING 0x0000000a |
Halted core task for enabling mov to debug registers exiting.
#define DEBUGGER_HALTED_CORE_TASK_ENABLE_SYSCALL_HOOK_EFER 0x0000000e |
Halted core task for enabling syscall hook using EFER SCE bit.
#define DEBUGGER_HALTED_CORE_TASK_INVEPT_ALL_CONTEXTS 0x0000000f |
Halted core task for invalidating EPT (All Contexts)
#define DEBUGGER_HALTED_CORE_TASK_INVEPT_SINGLE_CONTEXT 0x00000010 |
Halted core task for invalidating EPT (A Single Context)
#define DEBUGGER_HALTED_CORE_TASK_RESET_EXCEPTION_BITMAP_ONLY_ON_CLEARING_EXCEPTION_EVENTS 0x00000016 |
Halted core task for resetting exception bitmap on VMCS.
#define DEBUGGER_HALTED_CORE_TASK_RESET_IO_BITMAP 0x00000017 |
Halted core task for resetting I/O Bitmaps (A & B)
#define DEBUGGER_HALTED_CORE_TASK_RESET_MSR_BITMAP_READ 0x00000014 |
Halted core task for resetting MSR Bitmap Read.
#define DEBUGGER_HALTED_CORE_TASK_RESET_MSR_BITMAP_WRITE 0x00000015 |
Halted core task for resetting MSR Bitmap Write.
#define DEBUGGER_HALTED_CORE_TASK_RUN_VMCALL 0x00000002 |
Halted core task for running VMCALLs.
#define DEBUGGER_HALTED_CORE_TASK_SET_EXCEPTION_BITMAP 0x0000000b |
Halted core task for setting exception bitmap.
#define DEBUGGER_HALTED_CORE_TASK_SET_PROCESS_INTERCEPTION 0x00000003 |
Halted core task for setting process interception.
#define DEBUGGER_HALTED_CORE_TASK_SET_RDPMC_EXITING 0x00000008 |
Halted core task for enabling rdpmc exiting.
#define DEBUGGER_HALTED_CORE_TASK_SET_RDTSC_EXITING 0x00000009 |
Halted core task for enabling rdtsc/rdtscp exiting.
#define DEBUGGER_HALTED_CORE_TASK_SET_THREAD_INTERCEPTION 0x00000004 |
Halted core task for setting thread interception.
#define DEBUGGER_HALTED_CORE_TASK_TEST 0x00000001 |
Halted core task for testing purpose.
#define DEBUGGER_HALTED_CORE_TASK_UNHOOK_SINGLE_PAGE 0x00000012 |
Halted core task for restoring a single EPT entry and invalidating EPT cache.
#define DEBUGGER_HALTED_CORE_TASK_UNSET_EXCEPTION_BITMAP 0x00000011 |
Halted core task for unsetting exception bitmap on VMCS.
#define DEBUGGER_HALTED_CORE_TASK_UNSET_RDPMC_EXITING 0x00000019 |
Halted core task for disabling rdpmc exiting in primary cpu-based controls.
BOOLEAN HaltedCoreBroadcastTaskAllCores | ( | PROCESSOR_DEBUGGING_STATE * | DbgState, |
UINT64 | TargetTask, | ||
BOOLEAN | LockAgainAfterTask, | ||
BOOLEAN | Synchronize, | ||
PVOID | Context ) |
Broadcast tasks to halted cores.
This function should be called from VMX root-mode
DbgState | The state of the debugger on the current core |
TargetTask | The target task |
LockAgainAfterTask | Lock the core after the task |
Synchronize | Whether the function should wait for all cores to synchronize and lock again or not |
Context | optional parameter passed to the functions |
VOID HaltedCorePerformTargetTask | ( | PROCESSOR_DEBUGGING_STATE * | DbgState, |
UINT64 | TargetTask, | ||
PVOID | Context ) |
Perform the task on halted core.
This function should be called from VMX root-mode
DbgState | The state of the debugger on the current core |
TargetTask | The target task |
Context | optional parameter passed to the functions |
VOID HaltedCoreRunTaskOnSingleCore | ( | UINT32 | TargetCoreId, |
UINT64 | TargetTask, | ||
BOOLEAN | LockAgainAfterTask, | ||
PVOID | Context ) |
Run the task on a single halted core.
This function should be called from VMX root-mode
TargetCoreId | The target core's ID (to just run on this core) |
TargetTask | The target task |
LockAgainAfterTask | Lock the core after the task |
Context | optional parameter passed to the functions |