forked from huoji120/APT_Step_Bear_Inject
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rpc.h
93 lines (82 loc) · 2.98 KB
/
rpc.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#pragma once
#include <windows.h>
#include <string>
#include <vector>
#include <Rpc.h>
#include <rpcndr.h>
typedef struct _NDR64_PROC_FORMAT
{
/* 0x0000 */ unsigned int Flags;
/* 0x0004 */ unsigned int StackSize;
/* 0x0008 */ unsigned int ConstantClientBufferSize;
/* 0x000c */ unsigned int ConstantServerBufferSize;
/* 0x0010 */ unsigned short RpcFlags;
/* 0x0012 */ unsigned short FloatDoubleMask;
/* 0x0014 */ unsigned short NumberOfParams;
/* 0x0016 */ unsigned short ExtensionSize;
} NDR64_PROC_FORMAT, *PNDR64_PROC_FORMAT; /* size: 0x0018 */
/*
#define ULONG_PTR_T ULONG_PTR
#define PTR_T *
typedef struct _RPC_DISPATCH_TABLE_T {
UINT DispatchTableCount;
RPC_DISPATCH_FUNCTION PTR_T DispatchTable;
ULONG_PTR_T Reserved;
} RPC_DISPATCH_TABLE_T, PTR_T PRPC_DISPATCH_TABLE_T;
typedef struct _RPC_PROTSEQ_ENDPOINT_T {
UCHAR PTR_T RpcProtocolSequence;
UCHAR PTR_T Endpoint;
} RPC_PROTSEQ_ENDPOINT_T, PTR_T PRPC_PROTSEQ_ENDPOINT_T;
typedef struct _RPC_SERVER_INTERFACE_T {
UINT Length;
RPC_IF_ID InterfaceId;
RPC_IF_ID TransferSyntax;
PRPC_DISPATCH_TABLE_T DispatchTable;
UINT RpcProtseqEndpointCount;
PRPC_PROTSEQ_ENDPOINT_T RpcProtseqEndpoint;
RPC_MGR_EPV PTR_T DefaultManagerEpv;
void const PTR_T InterpreterInfo;
UINT Flags;
} RPC_SERVER_INTERFACE_T, PTR_T PRPC_SERVER_INTERFACE_T;
typedef struct _NDR_EXPR_DESC_T
{
const unsigned short PTR_T pOffset;
const unsigned char PTR_T pFormatExpr;
} NDR_EXPR_DESC_T;
typedef struct _MIDL_STUB_DESC_T {
void PTR_T RpcInterfaceInformation;
void PTR_T pfnAllocate;
void PTR_T pfnFree;
void PTR_T pAutoHandle;
const VOID PTR_T apfnNdrRundownRoutines;
const VOID PTR_T aGenericBindingRoutinePairs;
const VOID PTR_T apfnExprEval;
const VOID PTR_T aXmitQuintuple;
const unsigned char PTR_T pFormatTypes;
int fCheckBounds;
unsigned long Version;
VOID PTR_T pMallocFreeStruct;
long MIDLVersion;
const COMM_FAULT_OFFSETS PTR_T CommFaultOffsets;
// New fields for version 3.0+
const VOID PTR_T aUserMarshalQuadruple;
// Notify routines - added for NT5, MIDL 5.0
const VOID PTR_T NotifyRoutineTable;
ULONG_PTR_T mFlags;
// International support routines - added for 64bit post NT5
const VOID PTR_T CsRoutineTables;
void PTR_T ProxyServerInfo;
const NDR_EXPR_DESC_T PTR_T pExprInfo;
// Fields up to now present in win2000 release.
} MIDL_STUB_DESC_T, PTR_T PMIDL_STUB_DESC_T;
typedef struct _MIDL_SERVER_INFO_T {
PMIDL_STUB_DESC_T pStubDesc;
const VOID PTR_T PTR_T DispatchTable;
const unsigned char PTR_T ProcString;
const unsigned short PTR_T FmtStringOffset;
const VOID PTR_T PTR_T ThunkTable;
RPC_IF_ID PTR_T pTransferSyntax;
ULONG_PTR_T nCount;
VOID PTR_T pSyntaxInfo;
} MIDL_SERVER_INFO_T, PTR_T PMIDL_SERVER_INFO_T;
*/