BlackBone
Windows memory hacking library
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
NativeStructs81.h
Go to the documentation of this file.
1 #pragma once
2 
3 //
4 // Native structures W8.1 x64
5 //
6 #pragma warning(disable : 4214 4201)
7 #pragma pack(push, 1)
8 
9 typedef struct _MM_AVL_NODE // Size=24
10 {
11  struct _MM_AVL_NODE * LeftChild; // Size=8 Offset=0
12  struct _MM_AVL_NODE * RightChild; // Size=8 Offset=8
13 
14  union ___unnamed1666 // Size=8
15  {
16  struct
17  {
18  __int64 Balance : 2; // Size=8 Offset=0 BitOffset=0 BitCount=2
19  };
20  struct _MM_AVL_NODE * Parent; // Size=8 Offset=0
21  } u1;
23 
24 typedef struct _RTL_AVL_TREE // Size=8
25 {
26  PMM_AVL_NODE BalancedRoot; // Size=8 Offset=0
27  void * NodeHint; // Size=8 Offset=1504
28  unsigned __int64 NumberGenericTableElements; // Size=8 Offset=1512
30 
31 union _EX_PUSH_LOCK // Size=8
32 {
33  struct
34  {
35  unsigned __int64 Locked : 1; // Size=8 Offset=0 BitOffset=0 BitCount=1
36  unsigned __int64 Waiting : 1; // Size=8 Offset=0 BitOffset=1 BitCount=1
37  unsigned __int64 Waking : 1; // Size=8 Offset=0 BitOffset=2 BitCount=1
38  unsigned __int64 MultipleShared : 1; // Size=8 Offset=0 BitOffset=3 BitCount=1
39  unsigned __int64 Shared : 60; // Size=8 Offset=0 BitOffset=4 BitCount=60
40  };
41  unsigned __int64 Value; // Size=8 Offset=0
42  void * Ptr; // Size=8 Offset=0
43 };
44 
45 struct _MMVAD_FLAGS // Size=4
46 {
47  unsigned long VadType : 3; // Size=4 Offset=0 BitOffset=0 BitCount=3
48  unsigned long Protection : 5; // Size=4 Offset=0 BitOffset=3 BitCount=5
49  unsigned long PreferredNode : 6; // Size=4 Offset=0 BitOffset=8 BitCount=6
50  unsigned long NoChange : 1; // Size=4 Offset=0 BitOffset=14 BitCount=1
51  unsigned long PrivateMemory : 1; // Size=4 Offset=0 BitOffset=15 BitCount=1
52  unsigned long Teb : 1; // Size=4 Offset=0 BitOffset=16 BitCount=1
53  unsigned long PrivateFixup : 1; // Size=4 Offset=0 BitOffset=17 BitCount=1
54  unsigned long Spare : 13; // Size=4 Offset=0 BitOffset=18 BitCount=13
55  unsigned long DeleteInProgress : 1; // Size=4 Offset=0 BitOffset=31 BitCount=1
56 };
57 struct _MMVAD_FLAGS1 // Size=4
58 {
59  unsigned long CommitCharge : 31; // Size=4 Offset=0 BitOffset=0 BitCount=31
60  unsigned long MemCommit : 1; // Size=4 Offset=0 BitOffset=31 BitCount=1
61 };
62 
63 struct _MMVAD_FLAGS2 // Size=4
64 {
65  unsigned long FileOffset : 24; // Size=4 Offset=0 BitOffset=0 BitCount=24
66  unsigned long Large : 1; // Size=4 Offset=0 BitOffset=24 BitCount=1
67  unsigned long TrimBehind : 1; // Size=4 Offset=0 BitOffset=25 BitCount=1
68  unsigned long Inherit : 1; // Size=4 Offset=0 BitOffset=26 BitCount=1
69  unsigned long CopyOnWrite : 1; // Size=4 Offset=0 BitOffset=27 BitCount=1
70  unsigned long NoValidationNeeded : 1; // Size=4 Offset=0 BitOffset=28 BitCount=1
71  unsigned long Spare : 3; // Size=4 Offset=0 BitOffset=29 BitCount=3
72 };
73 
74 struct _MI_VAD_SEQUENTIAL_INFO // Size=8
75 {
76  unsigned __int64 Length : 12; // Size=8 Offset=0 BitOffset=0 BitCount=12
77  unsigned __int64 Vpn : 52; // Size=8 Offset=0 BitOffset=12 BitCount=52
78 };
79 
80 union ___unnamed1859 // Size=4
81 {
82  unsigned long LongFlags; // Size=4 Offset=0
83  struct _MMVAD_FLAGS VadFlags; // Size=4 Offset=0
84 };
85 union ___unnamed1860 // Size=4
86 {
87  unsigned long LongFlags1; // Size=4 Offset=0
88  struct _MMVAD_FLAGS1 VadFlags1; // Size=4 Offset=0
89 };
90 
91 union ___unnamed1956 // Size=4
92 {
93  unsigned long LongFlags2; // Size=4 Offset=0
94  struct _MMVAD_FLAGS2 VadFlags2; // Size=4 Offset=0
95 };
96 
97 union ___unnamed1957 // Size=8
98 {
99  struct _MI_VAD_SEQUENTIAL_INFO SequentialVa; // Size=8 Offset=0
100  struct _MMEXTEND_INFO * ExtendedInfo; // Size=8 Offset=0
101 };
102 
103 typedef struct _MMVAD_SHORT // Size=64
104 {
105  union
106  {
107  struct _MM_AVL_NODE VadNode; // Size=24 Offset=0
108  struct _MMVAD_SHORT * NextVad; // Size=8 Offset=0
109  };
110  unsigned long StartingVpn; // Size=4 Offset=24
111  unsigned long EndingVpn; // Size=4 Offset=28
112  unsigned char StartingVpnHigh; // Size=1 Offset=32
113  unsigned char EndingVpnHigh; // Size=1 Offset=33
114  unsigned char CommitChargeHigh; // Size=1 Offset=34
115  unsigned char LargeImageBias; // Size=1 Offset=35
116  long ReferenceCount; // Size=4 Offset=36
117  union _EX_PUSH_LOCK PushLock; // Size=8 Offset=40
118  union ___unnamed1859 u; // Size=4 Offset=48
119  union ___unnamed1860 u1; // Size=4 Offset=52
120  struct _MI_VAD_EVENT_BLOCK * EventList; // Size=8 Offset=56
122 
123 typedef struct _MMVAD // Size=128
124 {
125  struct _MMVAD_SHORT Core; // Size=64 Offset=0
126  union ___unnamed1956 u2; // Size=4 Offset=64
127  struct _SUBSECTION * Subsection; // Size=8 Offset=72
128  struct _MMPTE * FirstPrototypePte; // Size=8 Offset=80
129  struct _MMPTE * LastContiguousPte; // Size=8 Offset=88
130  struct _LIST_ENTRY ViewLinks; // Size=16 Offset=96
131  struct _EPROCESS * VadsProcess; // Size=8 Offset=112
132  union ___unnamed1957 u4; // Size=8 Offset=120
133 } MMVAD, *PMMVAD;
134 
135 typedef struct _POOL_HEADER // Size=16
136 {
137  union
138  {
139  struct
140  {
141  unsigned short PreviousSize : 8; // Size=2 Offset=0 BitOffset=0 BitCount=8
142  unsigned short PoolIndex : 8; // Size=2 Offset=0 BitOffset=8 BitCount=8
143  };
144  unsigned long Ulong1; // Size=4 Offset=0
145  };
146  struct
147  {
148  unsigned short BlockSize : 8; // Size=2 Offset=2 BitOffset=0 BitCount=8
149  unsigned short PoolType : 8; // Size=2 Offset=2 BitOffset=8 BitCount=8
150  };
151  unsigned long PoolTag; // Size=4 Offset=4
152  union
153  {
154  struct _EPROCESS * ProcessBilled; // Size=8 Offset=8
155  struct
156  {
157  unsigned short AllocatorBackTraceIndex; // Size=2 Offset=8
158  unsigned short PoolTagHash; // Size=2 Offset=10
159  };
160  };
162 #pragma pack(pop)
163 
164 #pragma warning(default : 4214 4201)
165 
166 #define GET_VAD_ROOT(Table) Table->BalancedRoot
unsigned __int64 EndingVpn
Definition: NativeStructs7.h:131
unsigned __int64 Waiting
Definition: NativeStructs81.h:36
Definition: NativeStructs7.h:159
struct _LIST_ENTRY ViewLinks
Definition: NativeStructs7.h:148
unsigned __int64 Length
Definition: NativeStructs8.h:59
struct _EPROCESS * ProcessBilled
Definition: NativeStructs7.h:175
void * NodeHint
Definition: NativeStructs81.h:27
unsigned long PoolTag
Definition: NativeStructs7.h:172
unsigned long NoValidationNeeded
Definition: NativeStructs8.h:34
struct _EPROCESS * VadsProcess
Definition: NativeStructs7.h:149
__int64 Balance
Definition: NativeStructs81.h:18
Definition: NativeStructs7.h:137
union ___unnamed712 u
Definition: NativeStructs7.h:132
struct _MM_AVL_NODE * PMM_AVL_NODE
unsigned __int64 Vpn
Definition: NativeStructs8.h:60
unsigned __int64 Protection
Definition: NativeStructs7.h:14
struct _MMVAD_SHORT * NextVad
Definition: NativeStructs81.h:108
struct _MMPTE * LastContiguousPte
Definition: NativeStructs7.h:147
struct _MM_AVL_NODE * PMMADDRESS_NODE
unsigned long PreviousSize
Definition: NativeStructs7.h:165
unsigned int FileOffset
Definition: NativeStructs7.h:33
unsigned long PreferredNode
Definition: NativeStructs8.h:12
unsigned long CommitCharge
Definition: NativeStructs8.h:23
unsigned __int64 MultipleShared
Definition: NativeStructs81.h:38
Definition: NativeStructs81.h:80
struct _MM_AVL_NODE MM_AVL_NODE
unsigned long DeleteInProgress
Definition: NativeStructs8.h:18
Definition: NativeStructs7.h:125
unsigned __int64 VadType
Definition: NativeStructs7.h:12
unsigned __int64 PrivateMemory
Definition: NativeStructs7.h:16
void * PushLock
Definition: NativeStructs7.h:133
struct _MMVAD_SHORT Core
Definition: NativeStructs8.h:129
unsigned short PoolTagHash
Definition: NativeStructs7.h:179
struct _RTL_AVL_TREE * PRTL_AVL_TREE
Definition: NativeStructs8.h:95
unsigned __int64 Value
Definition: NativeStructs81.h:41
struct _POOL_HEADER POOL_HEADER
struct _MMVAD_SHORT MMVAD_SHORT
unsigned long LongFlags
Definition: NativeStructs81.h:82
unsigned __int64 NoChange
Definition: NativeStructs7.h:11
unsigned __int64 NumberGenericTableElements
Definition: NativeStructs81.h:28
struct _MM_AVL_NODE * RightChild
Definition: NativeStructs8.h:99
unsigned __int64 Shared
Definition: NativeStructs81.h:39
Definition: NativeStructs81.h:31
unsigned int Spare
Definition: NativeStructs7.h:37
union ___unnamed1666 u1
Definition: NativeStructs8.h:97
union ___unnamed710 u1
Definition: NativeStructs7.h:127
unsigned long PrivateFixup
Definition: NativeStructs8.h:16
unsigned long Ulong1
Definition: NativeStructs7.h:170
unsigned char EndingVpnHigh
Definition: NativeStructs81.h:113
unsigned __int64 Locked
Definition: NativeStructs81.h:35
unsigned long PoolIndex
Definition: NativeStructs7.h:166
unsigned char StartingVpnHigh
Definition: NativeStructs81.h:112
struct _MMVAD_SHORT * PMMVAD_SHORT
unsigned long TrimBehind
Definition: NativeStructs8.h:31
union ___unnamed1885 u4
Definition: NativeStructs8.h:140
struct _MI_VAD_EVENT_BLOCK * EventList
Definition: NativeStructs8.h:123
union ___unnamed715 u2
Definition: NativeStructs7.h:140
struct _MMPTE * FirstPrototypePte
Definition: NativeStructs7.h:146
unsigned __int64 Spare
Definition: NativeStructs7.h:15
Definition: NativeStructs8.h:57
struct _MMEXTEND_INFO * ExtendedInfo
Definition: NativeStructs81.h:100
Definition: NativeStructs81.h:85
Definition: NativeStructs81.h:24
Definition: NativeStructs81.h:14
Definition: NativeStructs81.h:97
unsigned long MemCommit
Definition: NativeStructs8.h:24
unsigned char CommitChargeHigh
Definition: NativeStructs81.h:114
Definition: NativeStructs.h:281
unsigned long BlockSize
Definition: NativeStructs7.h:167
Definition: NativeStructs8.h:21
unsigned int CopyOnWrite
Definition: NativeStructs7.h:41
PMM_AVL_NODE BalancedRoot
Definition: NativeStructs81.h:26
unsigned long PoolType
Definition: NativeStructs7.h:168
struct _RTL_AVL_TREE * PMM_AVL_TABLE
Definition: NativeStructs7.h:8
unsigned short AllocatorBackTraceIndex
Definition: NativeStructs7.h:178
unsigned int Inherit
Definition: NativeStructs7.h:40
long ReferenceCount
Definition: NativeStructs8.h:124
struct _MMVAD MMVAD
unsigned __int64 Waking
Definition: NativeStructs81.h:37
unsigned char LargeImageBias
Definition: NativeStructs81.h:115
void * Ptr
Definition: NativeStructs81.h:42
unsigned long Teb
Definition: NativeStructs8.h:15
unsigned long LongFlags1
Definition: NativeStructs81.h:87
Definition: NativeStructs81.h:91
struct _MM_AVL_NODE * Parent
Definition: NativeStructs81.h:20
struct _MMVAD_FLAGS2 VadFlags2
Definition: NativeStructs81.h:94
unsigned long Large
Definition: NativeStructs8.h:30
unsigned long LongFlags2
Definition: NativeStructs81.h:93
struct _MM_AVL_NODE * LeftChild
Definition: NativeStructs8.h:98
Definition: NativeStructs7.h:31
struct _SUBSECTION * Subsection
Definition: NativeStructs7.h:143
struct _MMVAD_FLAGS VadFlags
Definition: NativeStructs81.h:83
unsigned __int64 StartingVpn
Definition: NativeStructs7.h:130
struct _MI_VAD_SEQUENTIAL_INFO SequentialVa
Definition: NativeStructs81.h:99
struct _MMVAD_FLAGS1 VadFlags1
Definition: NativeStructs81.h:88
struct _POOL_HEADER * PPOOL_HEADER
struct _RTL_AVL_TREE RTL_AVL_TREE
struct _MMVAD * PMMVAD