HyperDbg Debugger
Loading...
Searching...
No Matches
ThreadHolder.h
Go to the documentation of this file.
1
12#pragma once
13
15// Locks //
17
23
25// Structures //
27
40
51
53// Functions //
55
56VOID
58
61
64
67
70
73
76
79 PDEBUGGER_UD_COMMAND_PACKET ActionRequest);
80
81VOID
83
86
87VOID
90 UINT32 MaxCount);
#define MAX_THREADS_IN_A_PROCESS_HOLDER
Maximum threads that a process thread holder might have.
Definition Attaching.h:28
#define MAX_USER_ACTIONS_FOR_THREADS
Maximum actions in paused threads storage.
Definition Attaching.h:22
UCHAR BOOLEAN
Definition BasicTypes.h:39
#define VOID
Definition BasicTypes.h:33
unsigned __int64 UINT64
Definition BasicTypes.h:21
unsigned int UINT32
Definition BasicTypes.h:48
struct _USERMODE_DEBUGGING_THREAD_DETAILS USERMODE_DEBUGGING_THREAD_DETAILS
Details of each thread in process.
BOOLEAN ThreadHolderApplyActionToPausedThreads(PUSERMODE_DEBUGGING_PROCESS_DETAILS ProcessDebuggingDetails, PDEBUGGER_UD_COMMAND_PACKET ActionRequest)
Apply the action of the user debugger to a specific thread or all threads.
Definition ThreadHolder.c:364
BOOLEAN ThreadHolderAssignThreadHolderToProcessDebuggingDetails(PUSERMODE_DEBUGGING_PROCESS_DETAILS ProcessDebuggingDetail)
Assign a thread holder to process debugging details.
Definition ThreadHolder.c:42
VOID ThreadHolderFreeHoldingStructures(PUSERMODE_DEBUGGING_PROCESS_DETAILS ProcessDebuggingDetail)
Free all of thread holder structures.
Definition ThreadHolder.c:465
VOID ThreadHolderAllocateThreadHoldingBuffers()
Pre allocate buffer for thread holder.
Definition ThreadHolder.c:21
struct _USERMODE_DEBUGGING_THREAD_HOLDER * PUSERMODE_DEBUGGING_THREAD_HOLDER
volatile LONG VmxRootThreadHoldingLock
Vmx-root lock for thread holding.
Definition ThreadHolder.h:22
struct _USERMODE_DEBUGGING_THREAD_HOLDER USERMODE_DEBUGGING_THREAD_HOLDER
The holder for detail of each thread in process.
PUSERMODE_DEBUGGING_THREAD_DETAILS ThreadHolderGetProcessThreadDetailsByProcessIdAndThreadId(UINT32 ProcessId, UINT32 ThreadId)
Find the active threads of the process from process id.
Definition ThreadHolder.c:109
PUSERMODE_DEBUGGING_THREAD_DETAILS ThreadHolderGetProcessFirstThreadDetailsByProcessId(UINT32 ProcessId)
Find the first active threads of the process from process id.
Definition ThreadHolder.c:157
VOID ThreadHolderQueryDetailsOfActiveDebuggingThreadsAndProcesses(USERMODE_DEBUGGING_THREAD_OR_PROCESS_STATE_DETAILS *BufferToStoreDetails, UINT32 MaxCount)
Query details of active debugging threads and processes.
Definition ThreadHolder.c:549
PUSERMODE_DEBUGGING_THREAD_DETAILS ThreadHolderFindOrCreateThreadDebuggingDetail(UINT32 ThreadId, PUSERMODE_DEBUGGING_PROCESS_DETAILS ProcessDebuggingDetail)
Find or create user-mode debugging details for threads.
Definition ThreadHolder.c:257
PUSERMODE_DEBUGGING_PROCESS_DETAILS ThreadHolderGetProcessDebuggingDetailsByThreadId(UINT32 ThreadId)
Find the active process debugging detail from the thread id.
Definition ThreadHolder.c:205
struct _USERMODE_DEBUGGING_THREAD_DETAILS * PUSERMODE_DEBUGGING_THREAD_DETAILS
BOOLEAN ThreadHolderIsAnyPausedThreadInProcess(PUSERMODE_DEBUGGING_PROCESS_DETAILS ProcessDebuggingDetail)
Check if there is any thread paused by checking process debugging details.
Definition ThreadHolder.c:77
UINT32 ThreadHolderQueryCountOfActiveDebuggingThreadsAndProcesses()
Query count of active debugging threads and processes.
Definition ThreadHolder.c:491
Description of user-mode debugging actions.
Definition RequestStructures.h:879
The structure of command packet in uHyperDbg.
Definition RequestStructures.h:893
Description of each active thread in user-mode attaching mechanism.
Definition Attaching.h:49
Details of each thread in process.
Definition ThreadHolder.h:33
UINT64 ThreadRip
Definition ThreadHolder.h:35
UINT32 ThreadId
Definition ThreadHolder.h:34
DEBUGGER_UD_COMMAND_ACTION UdAction[MAX_USER_ACTIONS_FOR_THREADS]
Definition ThreadHolder.h:37
BOOLEAN IsPaused
Definition ThreadHolder.h:36
The holder for detail of each thread in process.
Definition ThreadHolder.h:46
USERMODE_DEBUGGING_THREAD_DETAILS Threads[MAX_THREADS_IN_A_PROCESS_HOLDER]
Definition ThreadHolder.h:48
LIST_ENTRY ThreadHolderList
Definition ThreadHolder.h:47
Definition RequestStructures.h:810