#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; }