Process Hacker
|
Go to the source code of this file.
Data Structures | |
struct | _HANDLE_TABLE_ENTRY |
struct | _OBJECT_HEADER |
Macros | |
#define | OBJ_PROTECT_CLOSE 0x00000001 |
#define | OBJ_HANDLE_ATTRIBUTES (OBJ_PROTECT_CLOSE | OBJ_INHERIT | OBJ_AUDIT_OBJECT_CLOSE) |
#define | ObpAccessProtectCloseBit 0x2000000 |
#define | ObpDecodeGrantedAccess(Access) ((Access) & ~ObpAccessProtectCloseBit) |
#define | OBJECT_TO_OBJECT_HEADER(Object) CONTAINING_RECORD((Object), OBJECT_HEADER, Body) |
#define | MAX_STACK_DEPTH 64 |
#define | RTL_WALK_USER_MODE_STACK 0x00000001 |
#define | RTL_WALK_VALID_FLAGS 0x00000001 |
Typedefs | |
typedef enum _KAPC_ENVIRONMENT | KAPC_ENVIRONMENT |
typedef enum _KAPC_ENVIRONMENT * | PKAPC_ENVIRONMENT |
typedef VOID(NTAPI * | PKNORMAL_ROUTINE )(__in PVOID NormalContext, __in PVOID SystemArgument1, __in PVOID SystemArgument2) |
typedef VOID | KKERNEL_ROUTINE (__in PRKAPC Apc, __inout PKNORMAL_ROUTINE *NormalRoutine, __inout PVOID *NormalContext, __inout PVOID *SystemArgument1, __inout PVOID *SystemArgument2) |
typedef VOID(NTAPI * | PKRUNDOWN_ROUTINE )(__in PRKAPC Apc) |
typedef struct _EX_PUSH_LOCK_WAIT_BLOCK * | PEX_PUSH_LOCK_WAIT_BLOCK |
typedef VOID(FASTCALL * | _ExfUnblockPushLock )(__inout PEX_PUSH_LOCK PushLock, __inout_opt PEX_PUSH_LOCK_WAIT_BLOCK WaitBlock) |
typedef struct _HANDLE_TABLE_ENTRY | HANDLE_TABLE_ENTRY |
typedef struct _HANDLE_TABLE_ENTRY * | PHANDLE_TABLE_ENTRY |
typedef struct _HANDLE_TABLE | HANDLE_TABLE |
typedef struct _HANDLE_TABLE * | PHANDLE_TABLE |
typedef BOOLEAN(NTAPI * | PEX_ENUM_HANDLE_CALLBACK_61 )(__inout PHANDLE_TABLE_ENTRY HandleTableEntry, __in HANDLE Handle, __in PVOID Context) |
typedef BOOLEAN(NTAPI * | PEX_ENUM_HANDLE_CALLBACK )(__in PHANDLE_TABLE HandleTable, __inout PHANDLE_TABLE_ENTRY HandleTableEntry, __in HANDLE Handle, __in PVOID Context) |
typedef struct _OBJECT_CREATE_INFORMATION | OBJECT_CREATE_INFORMATION |
typedef struct _OBJECT_CREATE_INFORMATION * | POBJECT_CREATE_INFORMATION |
typedef struct _OBJECT_HEADER | OBJECT_HEADER |
typedef struct _OBJECT_HEADER * | POBJECT_HEADER |
typedef POBJECT_TYPE(NTAPI * | _ObGetObjectType )(__in PVOID Object) |
typedef NTSTATUS(NTAPI * | _PsAcquireProcessExitSynchronization )(__in PEPROCESS Process) |
typedef NTSTATUS(NTAPI * | _PsReleaseProcessExitSynchronization )(__in PEPROCESS Process) |
typedef NTSTATUS(NTAPI * | _PsSuspendProcess )(__in PEPROCESS Process) |
typedef NTSTATUS(NTAPI * | _PsResumeProcess )(__in PEPROCESS Process) |
typedef BOOLEAN(NTAPI * | _PsIsProtectedProcess )(__in PEPROCESS Process) |
typedef struct _EJOB * | PEJOB |
Enumerations | |
enum | _KAPC_ENVIRONMENT { OriginalApcEnvironment, AttachedApcEnvironment, CurrentApcEnvironment, InsertApcEnvironment } |
Functions | |
typedef | KKERNEL_ROUTINE (NTAPI *PKKERNEL_ROUTINE) |
NTKERNELAPI VOID NTAPI | KeInitializeApc (__out PRKAPC Apc, __in PRKTHREAD Thread, __in KAPC_ENVIRONMENT Environment, __in PKKERNEL_ROUTINE KernelRoutine, __in_opt PKRUNDOWN_ROUTINE RundownRoutine, __in_opt PKNORMAL_ROUTINE NormalRoutine, __in_opt KPROCESSOR_MODE ProcessorMode, __in_opt PVOID NormalContext) |
NTKERNELAPI BOOLEAN NTAPI | KeInsertQueueApc (__inout PRKAPC Apc, __in_opt PVOID SystemArgument1, __in_opt PVOID SystemArgument2, __in KPRIORITY Increment) |
NTKERNELAPI BOOLEAN NTAPI | ExEnumHandleTable (__in PHANDLE_TABLE HandleTable, __in PEX_ENUM_HANDLE_CALLBACK EnumHandleProcedure, __inout PVOID Context, __out_opt PHANDLE Handle) |
NTSYSCALLAPI NTSTATUS NTAPI | ZwQuerySystemInformation (__in SYSTEM_INFORMATION_CLASS SystemInformationClass, __out_bcount_opt(SystemInformationLength) PVOID SystemInformation, __in ULONG SystemInformationLength, __out_opt PULONG ReturnLength) |
FORCEINLINE PVOID | ObpDecodeObject (PVOID Object) |
FORCEINLINE ULONG | ObpGetHandleAttributes (PHANDLE_TABLE_ENTRY HandleTableEntry) |
NTKERNELAPI NTSTATUS NTAPI | ObOpenObjectByName (__in POBJECT_ATTRIBUTES ObjectAttributes, __in POBJECT_TYPE ObjectType, __in KPROCESSOR_MODE PreviousMode, __in_opt PACCESS_STATE AccessState, __in_opt ACCESS_MASK DesiredAccess, __in PVOID ParseContext, __out PHANDLE Handle) |
NTKERNELAPI NTSTATUS NTAPI | ObSetHandleAttributes (__in HANDLE Handle, __in POBJECT_HANDLE_FLAG_INFORMATION HandleFlags, __in KPROCESSOR_MODE PreviousMode) |
NTKERNELAPI NTSTATUS | ObCloseHandle (__in HANDLE Handle, __in KPROCESSOR_MODE PreviousMode) |
NTSYSCALLAPI NTSTATUS NTAPI | ZwQueryInformationProcess (__in HANDLE ProcessHandle, __in PROCESSINFOCLASS ProcessInformationClass, __out_bcount(ProcessInformationLength) PVOID ProcessInformation, __in ULONG ProcessInformationLength, __out_opt PULONG ReturnLength) |
NTSYSCALLAPI NTSTATUS NTAPI | ZwSetInformationProcess (__in HANDLE ProcessHandle, __in PROCESSINFOCLASS ProcessInformationClass, __in_bcount(ProcessInformationLength) PVOID ProcessInformation, __in ULONG ProcessInformationLength) |
NTSYSCALLAPI NTSTATUS NTAPI | ZwQueryInformationThread (__in HANDLE ThreadHandle, __in THREADINFOCLASS ThreadInformationClass, __out_bcount(ThreadInformationLength) PVOID ThreadInformation, __in ULONG ThreadInformationLength, __out_opt PULONG ReturnLength) |
NTKERNELAPI NTSTATUS NTAPI | PsLookupProcessThreadByCid (__in PCLIENT_ID ClientId, __out_opt PEPROCESS *Process, __out PETHREAD *Thread) |
NTKERNELAPI PVOID NTAPI | PsGetThreadWin32Thread (__in PETHREAD Thread) |
NTKERNELAPI NTSTATUS NTAPI | PsGetContextThread (__in PETHREAD Thread, __inout PCONTEXT ThreadContext, __in KPROCESSOR_MODE PreviousMode) |
NTKERNELAPI NTSTATUS NTAPI | PsSetContextThread (__in PETHREAD Thread, __in PCONTEXT ThreadContext, __in KPROCESSOR_MODE PreviousMode) |
NTKERNELAPI PEJOB NTAPI | PsGetProcessJob (__in PEPROCESS Process) |
NTSYSAPI ULONG NTAPI | RtlWalkFrameChain (__out PVOID *Callers, __in ULONG Count, __in ULONG Flags) |
Variables | |
ULONG | KphDynNtVersion |
ULONG | KphDynObDecodeShift |
ULONG | KphDynObAttributesShift |
POBJECT_TYPE * | IoDriverObjectType |
POBJECT_TYPE * | PsJobType |
#define OBJ_HANDLE_ATTRIBUTES (OBJ_PROTECT_CLOSE | OBJ_INHERIT | OBJ_AUDIT_OBJECT_CLOSE) |
#define OBJECT_TO_OBJECT_HEADER | ( | Object | ) | CONTAINING_RECORD((Object), OBJECT_HEADER, Body) |
#define ObpDecodeGrantedAccess | ( | Access | ) | ((Access) & ~ObpAccessProtectCloseBit) |
typedef VOID(FASTCALL * _ExfUnblockPushLock)(__inout PEX_PUSH_LOCK PushLock, __inout_opt PEX_PUSH_LOCK_WAIT_BLOCK WaitBlock) |
typedef POBJECT_TYPE(NTAPI * _ObGetObjectType)(__in PVOID Object) |
typedef NTSTATUS(NTAPI * _PsAcquireProcessExitSynchronization)(__in PEPROCESS Process) |
typedef BOOLEAN(NTAPI * _PsIsProtectedProcess)(__in PEPROCESS Process) |
typedef NTSTATUS(NTAPI * _PsReleaseProcessExitSynchronization)(__in PEPROCESS Process) |
typedef NTSTATUS(NTAPI * _PsResumeProcess)(__in PEPROCESS Process) |
typedef NTSTATUS(NTAPI * _PsSuspendProcess)(__in PEPROCESS Process) |
typedef struct _HANDLE_TABLE HANDLE_TABLE |
typedef struct _HANDLE_TABLE_ENTRY HANDLE_TABLE_ENTRY |
typedef enum _KAPC_ENVIRONMENT KAPC_ENVIRONMENT |
typedef VOID KKERNEL_ROUTINE(__in PRKAPC Apc, __inout PKNORMAL_ROUTINE *NormalRoutine, __inout PVOID *NormalContext, __inout PVOID *SystemArgument1, __inout PVOID *SystemArgument2) |
typedef struct _OBJECT_CREATE_INFORMATION OBJECT_CREATE_INFORMATION |
typedef struct _OBJECT_HEADER OBJECT_HEADER |
typedef BOOLEAN(NTAPI * PEX_ENUM_HANDLE_CALLBACK)(__in PHANDLE_TABLE HandleTable, __inout PHANDLE_TABLE_ENTRY HandleTableEntry, __in HANDLE Handle, __in PVOID Context) |
typedef BOOLEAN(NTAPI * PEX_ENUM_HANDLE_CALLBACK_61)(__inout PHANDLE_TABLE_ENTRY HandleTableEntry, __in HANDLE Handle, __in PVOID Context) |
typedef struct _EX_PUSH_LOCK_WAIT_BLOCK* PEX_PUSH_LOCK_WAIT_BLOCK |
typedef struct _HANDLE_TABLE * PHANDLE_TABLE |
typedef struct _HANDLE_TABLE_ENTRY * PHANDLE_TABLE_ENTRY |
typedef enum _KAPC_ENVIRONMENT * PKAPC_ENVIRONMENT |
typedef VOID(NTAPI * PKNORMAL_ROUTINE)(__in PVOID NormalContext, __in PVOID SystemArgument1, __in PVOID SystemArgument2) |
typedef struct _OBJECT_CREATE_INFORMATION * POBJECT_CREATE_INFORMATION |
typedef struct _OBJECT_HEADER * POBJECT_HEADER |
enum _KAPC_ENVIRONMENT |
NTKERNELAPI BOOLEAN NTAPI ExEnumHandleTable | ( | __in PHANDLE_TABLE | HandleTable, |
__in PEX_ENUM_HANDLE_CALLBACK | EnumHandleProcedure, | ||
__inout PVOID | Context, | ||
__out_opt PHANDLE | Handle | ||
) |
NTKERNELAPI VOID NTAPI KeInitializeApc | ( | __out PRKAPC | Apc, |
__in PRKTHREAD | Thread, | ||
__in KAPC_ENVIRONMENT | Environment, | ||
__in PKKERNEL_ROUTINE | KernelRoutine, | ||
__in_opt PKRUNDOWN_ROUTINE | RundownRoutine, | ||
__in_opt PKNORMAL_ROUTINE | NormalRoutine, | ||
__in_opt KPROCESSOR_MODE | ProcessorMode, | ||
__in_opt PVOID | NormalContext | ||
) |
NTKERNELAPI BOOLEAN NTAPI KeInsertQueueApc | ( | __inout PRKAPC | Apc, |
__in_opt PVOID | SystemArgument1, | ||
__in_opt PVOID | SystemArgument2, | ||
__in KPRIORITY | Increment | ||
) |
typedef KKERNEL_ROUTINE | ( | NTAPI * | PKKERNEL_ROUTINE | ) |
NTKERNELAPI NTSTATUS ObCloseHandle | ( | __in HANDLE | Handle, |
__in KPROCESSOR_MODE | PreviousMode | ||
) |
NTKERNELAPI NTSTATUS NTAPI ObOpenObjectByName | ( | __in POBJECT_ATTRIBUTES | ObjectAttributes, |
__in POBJECT_TYPE | ObjectType, | ||
__in KPROCESSOR_MODE | PreviousMode, | ||
__in_opt PACCESS_STATE | AccessState, | ||
__in_opt ACCESS_MASK | DesiredAccess, | ||
__in PVOID | ParseContext, | ||
__out PHANDLE | Handle | ||
) |
FORCEINLINE ULONG ObpGetHandleAttributes | ( | PHANDLE_TABLE_ENTRY | HandleTableEntry | ) |
NTKERNELAPI NTSTATUS NTAPI ObSetHandleAttributes | ( | __in HANDLE | Handle, |
__in POBJECT_HANDLE_FLAG_INFORMATION | HandleFlags, | ||
__in KPROCESSOR_MODE | PreviousMode | ||
) |
NTKERNELAPI NTSTATUS NTAPI PsGetContextThread | ( | __in PETHREAD | Thread, |
__inout PCONTEXT | ThreadContext, | ||
__in KPROCESSOR_MODE | PreviousMode | ||
) |
NTKERNELAPI PEJOB NTAPI PsGetProcessJob | ( | __in PEPROCESS | Process | ) |
NTKERNELAPI PVOID NTAPI PsGetThreadWin32Thread | ( | __in PETHREAD | Thread | ) |
NTKERNELAPI NTSTATUS NTAPI PsLookupProcessThreadByCid | ( | __in PCLIENT_ID | ClientId, |
__out_opt PEPROCESS * | Process, | ||
__out PETHREAD * | Thread | ||
) |
NTKERNELAPI NTSTATUS NTAPI PsSetContextThread | ( | __in PETHREAD | Thread, |
__in PCONTEXT | ThreadContext, | ||
__in KPROCESSOR_MODE | PreviousMode | ||
) |
NTSYSAPI ULONG NTAPI RtlWalkFrameChain | ( | __out PVOID * | Callers, |
__in ULONG | Count, | ||
__in ULONG | Flags | ||
) |
NTSYSCALLAPI NTSTATUS NTAPI ZwQueryInformationProcess | ( | __in HANDLE | ProcessHandle, |
__in PROCESSINFOCLASS | ProcessInformationClass, | ||
__out_bcount(ProcessInformationLength) PVOID | ProcessInformation, | ||
__in ULONG | ProcessInformationLength, | ||
__out_opt PULONG | ReturnLength | ||
) |
NTSYSCALLAPI NTSTATUS NTAPI ZwQueryInformationThread | ( | __in HANDLE | ThreadHandle, |
__in THREADINFOCLASS | ThreadInformationClass, | ||
__out_bcount(ThreadInformationLength) PVOID | ThreadInformation, | ||
__in ULONG | ThreadInformationLength, | ||
__out_opt PULONG | ReturnLength | ||
) |
NTSYSCALLAPI NTSTATUS NTAPI ZwQuerySystemInformation | ( | __in SYSTEM_INFORMATION_CLASS | SystemInformationClass, |
__out_bcount_opt(SystemInformationLength) PVOID | SystemInformation, | ||
__in ULONG | SystemInformationLength, | ||
__out_opt PULONG | ReturnLength | ||
) |
NTSYSCALLAPI NTSTATUS NTAPI ZwSetInformationProcess | ( | __in HANDLE | ProcessHandle, |
__in PROCESSINFOCLASS | ProcessInformationClass, | ||
__in_bcount(ProcessInformationLength) PVOID | ProcessInformation, | ||
__in ULONG | ProcessInformationLength | ||
) |
POBJECT_TYPE* IoDriverObjectType |
ULONG KphDynObAttributesShift |
ULONG KphDynObDecodeShift |
POBJECT_TYPE* PsJobType |