21 lines
745 B
C++
21 lines
745 B
C++
#pragma once
|
||
#include "Base.h"
|
||
|
||
typedef struct _SERVICE_DESCRIPTOR_TABLE {
|
||
PVOID ServiceTableBase; // 核心:系统服务函数地址数组的基址
|
||
PVOID ServiceCounterTableBase; // 服务调用计数器(仅x86/早期系统用,x64/Win10+多为NULL)
|
||
ULONG NumberOfServices; // SSDT表中包含的系统服务函数总数
|
||
PUCHAR ParamTableBase; // 系统服务函数的参数个数表基址(存储每个函数的参数字节数)
|
||
} SERVICE_DESCRIPTOR_TABLE, * PSERVICE_DESCRIPTOR_TABLE;
|
||
|
||
namespace SSDT
|
||
{
|
||
auto get_service_descriptortable()->PSERVICE_DESCRIPTOR_TABLE;
|
||
|
||
auto get_ssdt_function_aadr(ULONG32 number)->uintptr_t;
|
||
|
||
auto get_func_number(unsigned char* function)->ULONG32;
|
||
|
||
auto ZwTerminateThread(HANDLE ThreadHandle, NTSTATUS ExitStatus)->NTSTATUS;
|
||
|
||
} |