2014-04-06 18:31:53 +00:00
|
|
|
/* Benjamin DELPY `gentilkiwi`
|
|
|
|
http://blog.gentilkiwi.com
|
|
|
|
benjamin@gentilkiwi.com
|
2015-08-25 09:19:01 +00:00
|
|
|
Licence : https://creativecommons.org/licenses/by/4.0/
|
2014-04-06 18:31:53 +00:00
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "globals.h"
|
|
|
|
#include "kkll_m_modules.h"
|
|
|
|
#include "kkll_m_memory.h"
|
|
|
|
|
|
|
|
typedef struct _SERVICE_DESCRIPTOR_TABLE {
|
2019-03-25 00:57:56 +00:00
|
|
|
#if defined(_M_IX86)
|
2014-04-06 18:31:53 +00:00
|
|
|
PVOID *ServiceTable;
|
2019-03-25 00:57:56 +00:00
|
|
|
#elif defined(_M_X64)
|
2014-04-06 18:31:53 +00:00
|
|
|
LONG *OffsetToService;
|
|
|
|
#endif
|
|
|
|
PULONG CounterTable;
|
|
|
|
ULONG TableSize;
|
|
|
|
PUCHAR ArgumentTable;
|
|
|
|
} SERVICE_DESCRIPTOR_TABLE, *PSERVICE_DESCRIPTOR_TABLE;
|
|
|
|
|
2019-03-25 00:57:56 +00:00
|
|
|
#if defined(_M_IX86)
|
2014-04-06 18:31:53 +00:00
|
|
|
extern PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable;
|
2019-03-25 00:57:56 +00:00
|
|
|
#elif defined(_M_X64)
|
2014-04-06 18:31:53 +00:00
|
|
|
PSERVICE_DESCRIPTOR_TABLE KeServiceDescriptorTable;
|
|
|
|
NTSTATUS kkll_m_ssdt_getKeServiceDescriptorTable();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
NTSTATUS kkll_m_ssdt_list(PKIWI_BUFFER outBuffer);
|