186 lines
5.5 KiB
C
186 lines
5.5 KiB
C
#ifndef _RPC_INTERNALS_H_
|
|
#define _RPC_INTERNALS_H_
|
|
|
|
#include <windows.h>
|
|
#include <Rpc.h>
|
|
|
|
static UINT64 RPC_CORE_RUNTIME_VERSION[] = {
|
|
0x6000324D70000LL, //6.3.9431.0000
|
|
0x6000325804000LL, //6.3.9600.16384
|
|
0x6000325804340LL, //6.3.9600.17216
|
|
0x6000325804407LL, //6.3.9600.17415
|
|
0x60003258045FFLL, //6.3.9600.17919
|
|
0x6000325804774LL, //6.3.9600.18292
|
|
0x6000325804AE8LL, //6.3.9600.19176
|
|
0x6000325804C52LL, //6.3.9600.19538
|
|
0xA000028004000LL, //10.0.10240.16384
|
|
0xA00002800401CLL, //10.0.10240.16412
|
|
0xA0000280041C9LL, //10.0.10240.16841
|
|
0xA0000295A0000LL, //10.0.10586.0
|
|
0xA0000295A0132LL, //10.0.10586.306
|
|
0xA0000295A0498LL, //10.0.10586.1176
|
|
0xA0000380603E8LL, //10.0.14342.1000
|
|
0xA000038190000LL, //10.0.14361.0
|
|
0xA000038390000LL, //10.0.14393.0
|
|
0xA000038390052LL, //10.0.14393.82
|
|
0xA0000383906EALL, //10.0.14393.1770
|
|
0xA000038390908LL, //10.0.14393.2312
|
|
0xA000038390A69LL, //10.0.14393.2665
|
|
0xA000038390C2BLL, //10.0.14393.3115
|
|
0xA00003AD70000LL, //10.0.15063.0
|
|
0xA00003AD701BFLL, //10.0.15063.447
|
|
0xA00003AD702A2LL, //10.0.15063.674
|
|
0xA00003F6803E8LL, //10.0.16232.1000
|
|
0xA00003FAB000FLL, //10.0.16299.15
|
|
0xA00003FAB00C0LL, //10.0.16299.192
|
|
0xA00003FAB0135LL, //10.0.16299.309
|
|
0xA00003FAB0173LL, //10.0.16299.371
|
|
0xA00003FAB01ECLL, //10.0.16299.492
|
|
0xA00003FAB02D6LL, //10.0.16299.726
|
|
0xA00003FAB034ELL, //10.0.16299.846
|
|
0xA0000427903E8LL, //10.0.17017.1000
|
|
0xA0000428103E8LL, //10.0.17025.1000
|
|
0xA000042B203EALL, //10.0.17074.1002
|
|
0xA000042EE0001LL, //10.0.17134.1
|
|
0xA000042EE0030LL, //10.0.17134.48
|
|
0xA000042EE0070LL, //10.0.17134.112
|
|
0xA000042EE00E4LL, //10.0.17134.228
|
|
0xA000042EE0197LL, //10.0.17134.407
|
|
0xA000042EE01D7LL, //10.0.17134.471
|
|
0xA000042EE0288LL, //10.0.17134.648
|
|
0xA000042EE046ALL, //10.0.17134.1130
|
|
0xA000045630001LL, //10.0.17763.1
|
|
0xA000045630086LL, //10.0.17763.134
|
|
0xA0000456300C2LL, //10.0.17763.194
|
|
0xA00004563017BLL, //10.0.17763.379
|
|
0xA0000456302CFLL, //10.0.17763.719
|
|
0xA000045630360LL, //10.0.17763.864
|
|
0xA000045630629LL, //10.0.17763.1577
|
|
0xA0000456306A1LL, //10.0.17763.1697
|
|
0xA000045630757LL, //10.0.17763.1879
|
|
0xA0000456307CFLL, //10.0.17763.1999
|
|
0xA000047BA0001LL, //10.0.18362.1
|
|
0xA000047BA01DCLL, //10.0.18362.476
|
|
0xA000047BA0274LL, //10.0.18362.628
|
|
0xA00004A610001LL, //10.0.19041.1
|
|
0xA00004A6101FCLL, //10.0.19041.508
|
|
0xA00004A610222LL, //10.0.19041.546
|
|
0xA00004A610276LL, //10.0.19041.630
|
|
0xA00004A610296LL, //10.0.19041.662
|
|
0xA00004A6102EALL, //10.0.19041.746
|
|
0xA00004A61041CLL, //10.0.19041.1052
|
|
0xA00004A610439LL, //10.0.19041.1081,
|
|
0xA00004A610508LL, //10.0.19041.1288,
|
|
0xA0000536A0001LL, //10.0.21354.1
|
|
0xA000055EC0001LL, //10.0.21996.1,
|
|
0xA000055F00001LL //10.0.22000.1
|
|
};
|
|
|
|
#define RPC_CORE_DESCRIPTION "Windows 10/11 64bits runtime core"
|
|
#define RPC_CORE_IS_WOW64 FALSE
|
|
|
|
#define ULONG_PTR_T ULONG_PTR
|
|
#define PTR_T *
|
|
|
|
#include "../RpcInternalsCommon.h"
|
|
|
|
#pragma pack(1)
|
|
typedef struct _RPC_SERVER_T{
|
|
MUTEX_T Mutex;
|
|
ULONG __bIslistening;
|
|
ULONG bIsListening;
|
|
ULONG MinimumCallThreads;
|
|
ULONG Wait;
|
|
ULONG OutCalls;
|
|
ULONG Unk1;
|
|
ULONG InCalls;
|
|
ULONG Unk2;
|
|
SIMPLE_DICT_T AddressDict;
|
|
ULONG lAvailableCalls;
|
|
ULONG Unk3;
|
|
SIMPLE_DICT_T _ProtSeqQueue;
|
|
ULONG Unk4[8];
|
|
ULONG OutPackets;
|
|
ULONG Unk5;
|
|
MUTEX_T Mutex2;
|
|
ULONG MaxCalls;
|
|
ULONG Unk6;
|
|
VOID PTR_T hEvent;
|
|
ULONG Unk7[4];
|
|
SIMPLE_DICT_T InterfaceDict;
|
|
ULONG _bIsListening;
|
|
ULONG bIsMaxCalls1234;
|
|
ULONG Unk8[6];
|
|
ULONG InPackets;
|
|
ULONG Unk9;
|
|
RPC_FORWARD_FUNCTION PTR_T pRpcForwardFunction;
|
|
ULONG Unk10[6];
|
|
SIMPLE_DICT_T AuthenInfoDict;
|
|
LIST_ENTRY_T RpcIfGroupListEntry;
|
|
ULONG PTR_T __SRWLock;
|
|
LIST_ENTRY_T field_1E0;
|
|
}RPC_SERVER_T, PTR_T PRPC_SERVER_T;
|
|
|
|
typedef struct _RPC_INTERFACE_T
|
|
{
|
|
PRPC_SERVER_T pRpcServer;
|
|
ULONG Flags;
|
|
ULONG Unk1;
|
|
MUTEX_T Mutex;
|
|
ULONG EpMapperFlags;
|
|
ULONG Unk2;
|
|
RPC_MGR_EPV PTR_T pMgrEpv;
|
|
RPC_IF_CALLBACK_FN PTR_T IfCallbackFn;
|
|
RPC_SERVER_INTERFACE_T RpcServerInterface;
|
|
PMIDL_SYNTAX_INFO pSyntaxInfo;
|
|
VOID PTR_T pTransfertSyntaxes;
|
|
ULONG TransfertSyntaxesCount;
|
|
ULONG __Field_C4;
|
|
ULONG NbTypeManager;
|
|
ULONG MaxRpcSize;
|
|
UUID_VECTOR PTR_T pUuidVector;
|
|
SIMPLE_DICT_T RpcInterfaceManagerDict;
|
|
UCHAR Annotation[MAX_RPC_INTERFACE_ANNOTATION];
|
|
ULONG IsCallSizeLimitReached;
|
|
ULONG currentNullManagerCalls;
|
|
ULONG __Field_150;
|
|
ULONG __Field_154;
|
|
ULONG __Field_158;
|
|
ULONG SecurityCallbackInProgress;
|
|
ULONG SecurityCacheEntry;
|
|
ULONG field_164;
|
|
VOID PTR_T __SecurityCacheEntries[16];
|
|
SIMPLE_DICT_T FwEpDict;
|
|
ULONG Unk3[6];
|
|
struct RPCP_INTERFACE_GROUP PTR_T pRpcpInterfaceGroup;
|
|
}RPC_INTERFACE_T, PTR_T PRPC_INTERFACE_T;
|
|
|
|
#define RPC_ADDRESS_TYPE_DG 0x400000
|
|
#define RPC_ADDRESS_TYPE_LRPC 0x800000
|
|
#define RPC_ADDRESS_TYPE_OSF 0x800
|
|
|
|
typedef struct _RPC_ADDRESS_T{
|
|
VOID PTR_T pVtable;
|
|
ULONG Magic;
|
|
ULONG TypeOfAddress;
|
|
ULONG ReferenceCounter;
|
|
ULONG Unk1[3];
|
|
WCHAR PTR_T Name;
|
|
WCHAR PTR_T Protocole;
|
|
WCHAR PTR_T Address;
|
|
ULONG bNamed;
|
|
ULONG EpAddAddressFlag;
|
|
SIMPLE_DICT_T __LRPCSassociationSimpleDict;
|
|
ULONG __Field_68;
|
|
ULONG Unk3;
|
|
ULONG NbActiveCalls;
|
|
ULONG __Field_74;
|
|
ULONG Unk4[6];
|
|
ULONG __Field_90;
|
|
MUTEX_T Mutex;
|
|
}RPC_ADDRESS_T;
|
|
|
|
#pragma pack()
|
|
|
|
#endif // _RPC_INTERNALS_H_
|