Min version | XP | XP SP2 | 2003/XP64 | 2003/XP64 SP1 | Vista | Vista SP1 | 7 | 8 Pre RTM | 8 Pre RTM | 8 | 8.1 Update 1 | 8.1 | 10 TH2 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Max version | XP SP1 | XP SP3 | 2003/XP64 SP2 | Vista SP2 | 7 SP1 | 8 | 10 | ||||||||||||
Architecture | x86 | x86 | x86 | x86 | x64 | x86 | x86 | x64 | x86 | x64 | x86 | x64 | x86 | x64 | x86 | x64 | x86 | x64 | |
x86 offset offset:bitpos | Field Name | x64 offset offset:bitpos | |||||||||||||||||
0x0000 | uint8_t InheritedAddressSpace | 0x0000 | |||||||||||||||||
0x0001 | uint8_t ReadImageFileExecOptions | 0x0001 | |||||||||||||||||
0x0002 | uint8_t BeingDebugged | 0x0002 | |||||||||||||||||
0x0003 | uint8_t SpareBool | uint8_t BitField | 0x0003 | ||||||||||||||||
0x0003:0x00 | uint8_t ImageUsesLargePages | 0x0003:0x00 | |||||||||||||||||
0x0003:0x01 | uint8_t SpareBits | uint8_t IsProtectedProcess | 0x0003:0x01 | ||||||||||||||||
0x0003:0x02 | uint8_t IsLegacyProcess | uint8_t IsImageDynamicallyRelocated | 0x0003:0x02 | ||||||||||||||||
0x0003:0x03 | uint8_t IsImageDynamicallyRelocated | uint8_t SkipPatchingUser32Forwarders | 0x0003:0x03 | ||||||||||||||||
0x0003:0x04 | uint8_t SpareBits | uint8_t SkipPatchingUser32Forwarders | uint8_t IsPackagedProcess | 0x0003:0x04 | |||||||||||||||
0x0003:0x05 | uint8_t SpareBits | uint8_t IsPackagedProcess | uint8_t IsAppContainer | 0x0003:0x05 | |||||||||||||||
0x0003:0x06 | uint8_t IsAppContainer | uint8_t IsProtectedProcessLight | 0x0003:0x06 | ||||||||||||||||
0x0003:0x07 | uint8_t SpareBits | 0x0003:0x07 | |||||||||||||||||
uint8_t[4] Padding0 | uint8_t[4] Padding0 | 0x0004 | |||||||||||||||||
0x0004 | void * Mutant | 0x0008 | |||||||||||||||||
0x0008 | void * ImageBaseAddress | 0x0010 | |||||||||||||||||
0x000C | struct _PEB_LDR_DATA * Ldr | 0x0018 | |||||||||||||||||
0x0010 | struct _RTL_USER_PROCESS_PARAMETERS * ProcessParameters | 0x0020 | |||||||||||||||||
0x0014 | void * SubSystemData | 0x0028 | |||||||||||||||||
0x0018 | void * ProcessHeap | 0x0030 | |||||||||||||||||
0x001C | struct _RTL_CRITICAL_SECTION * FastPebLock | 0x0038 | |||||||||||||||||
0x0020 | void * FastPebLockRoutine | void * SparePtr1 | void * AtlThunkSListPtr | 0x0040 | |||||||||||||||
0x0024 | void * FastPebUnlockRoutine | void * SparePtr2 | void * IFEOKey | 0x0048 | |||||||||||||||
0x0028 | unsigned long EnvironmentUpdateCount | unsigned long CrossProcessFlags | 0x0050 | ||||||||||||||||
0x0028:0x00 | unsigned long ProcessInJob | 0x0050:0x00 | |||||||||||||||||
0x0028:0x01 | unsigned long ProcessInitializing | 0x0050:0x01 | |||||||||||||||||
0x0028:0x02 | unsigned long ReservedBits0 | unsigned long ProcessUsingVEH | 0x0050:0x02 | ||||||||||||||||
0x0028:0x03 | unsigned long ProcessUsingVCH | 0x0050:0x03 | |||||||||||||||||
0x0028:0x04 | unsigned long ReservedBits0 | unsigned long ProcessUsingFTH | 0x0050:0x04 | ||||||||||||||||
0x0028:0x05 | unsigned long ReservedBits0 | 0x0050:0x05 | |||||||||||||||||
uint8_t[4] Padding1 | uint8_t[4] Padding1 | 0x0054 | |||||||||||||||||
0x002C | void * KernelCallbackTable | void * KernelCallbackTable | 0x0058 | ||||||||||||||||
0x002C | void * UserSharedInfoPtr | 0x0058 | |||||||||||||||||
0x0030 | unsigned long[1] SystemReserved | 0x0060 | |||||||||||||||||
0x0034 | unsigned long ExecuteOptions | unsigned long AtlThunkSListPtr32 | unsigned long ExecuteOptions | unsigned long SpareUlong | unsigned long AtlThunkSListPtr32 | 0x0064 | |||||||||||||
0x0034:0x02 | unsigned long SpareBits | unsigned long SpareBits | |||||||||||||||||
0x0038 | struct _PEB_FREE_BLOCK * FreeList | uintptr_t SparePebPtr0 | void * ApiSetMap | 0x0068 | |||||||||||||||
0x003C | unsigned long TlsExpansionCounter | 0x0070 | |||||||||||||||||
uint8_t[4] Padding2 | uint8_t[4] Padding2 | 0x0074 | |||||||||||||||||
0x0040 | void * TlsBitmap | 0x0078 | |||||||||||||||||
0x0044 | unsigned long[2] TlsBitmapBits | 0x0080 | |||||||||||||||||
0x004C | void * ReadOnlySharedMemoryBase | 0x0088 | |||||||||||||||||
0x0050 | void * ReadOnlySharedMemoryHeap | void * HotpatchInformation | void * SparePvoid0 | 0x0090 | |||||||||||||||
0x0054 | void * * ReadOnlyStaticServerData | 0x0098 | |||||||||||||||||
0x0058 | void * AnsiCodePageData | 0x00A0 | |||||||||||||||||
0x005C | void * OemCodePageData | 0x00A8 | |||||||||||||||||
0x0060 | void * UnicodeCaseTableData | 0x00B0 | |||||||||||||||||
0x0064 | unsigned long NumberOfProcessors | 0x00B8 | |||||||||||||||||
0x0068 | unsigned long NtGlobalFlag | 0x00BC | |||||||||||||||||
0x0070 | union _LARGE_INTEGER CriticalSectionTimeout | 0x00C0 | |||||||||||||||||
0x0078 | uintptr_t HeapSegmentReserve | 0x00C8 | |||||||||||||||||
0x007C | uintptr_t HeapSegmentCommit | 0x00D0 | |||||||||||||||||
0x0080 | uintptr_t HeapDeCommitTotalFreeThreshold | 0x00D8 | |||||||||||||||||
0x0084 | uintptr_t HeapDeCommitFreeBlockThreshold | 0x00E0 | |||||||||||||||||
0x0088 | unsigned long NumberOfHeaps | 0x00E8 | |||||||||||||||||
0x008C | unsigned long MaximumNumberOfHeaps | 0x00EC | |||||||||||||||||
0x0090 | void * * ProcessHeaps | 0x00F0 | |||||||||||||||||
0x0094 | void * GdiSharedHandleTable | 0x00F8 | |||||||||||||||||
0x0098 | void * ProcessStarterHelper | 0x0100 | |||||||||||||||||
0x009C | unsigned long GdiDCAttributeList | 0x0108 | |||||||||||||||||
uint8_t[4] Padding3 | uint8_t[4] Padding3 | 0x010C | |||||||||||||||||
0x00A0 | void * LoaderLock | struct _RTL_CRITICAL_SECTION * LoaderLock | 0x0110 | ||||||||||||||||
0x00A4 | unsigned long OSMajorVersion | 0x0118 | |||||||||||||||||
0x00A8 | unsigned long OSMinorVersion | 0x011C | |||||||||||||||||
0x00AC | uint16_t OSBuildNumber | 0x0120 | |||||||||||||||||
0x00AE | uint16_t OSCSDVersion | 0x0122 | |||||||||||||||||
0x00B0 | unsigned long OSPlatformId | 0x0124 | |||||||||||||||||
0x00B4 | unsigned long ImageSubsystem | 0x0128 | |||||||||||||||||
0x00B8 | unsigned long ImageSubsystemMajorVersion | 0x012C | |||||||||||||||||
0x00BC | unsigned long ImageSubsystemMinorVersion | 0x0130 | |||||||||||||||||
uint8_t[4] Padding4 | uint8_t[4] Padding4 | 0x0134 | |||||||||||||||||
0x00C0 | uintptr_t ImageProcessAffinityMask | uintptr_t ActiveProcessAffinityMask | 0x0138 | ||||||||||||||||
0x00C4 | x86: unsigned long[34] / x64: unsigned long[60] GdiHandleBuffer | 0x0140 | |||||||||||||||||
0x014C | function * PostProcessInitRoutine | 0x0230 | |||||||||||||||||
0x0150 | void * TlsExpansionBitmap | 0x0238 | |||||||||||||||||
0x0154 | unsigned long[32] TlsExpansionBitmapBits | 0x0240 | |||||||||||||||||
0x01D4 | unsigned long SessionId | 0x02C0 | |||||||||||||||||
uint8_t[4] Padding5 | uint8_t[4] Padding5 | 0x02C4 | |||||||||||||||||
0x01D8 | union _ULARGE_INTEGER AppCompatFlags | 0x02C8 | |||||||||||||||||
0x01E0 | union _ULARGE_INTEGER AppCompatFlagsUser | 0x02D0 | |||||||||||||||||
0x01E8 | void * pShimData | 0x02D8 | |||||||||||||||||
0x01EC | void * AppCompatInfo | 0x02E0 | |||||||||||||||||
0x01F0 | struct _UNICODE_STRING CSDVersion | 0x02E8 | |||||||||||||||||
0x01F8 | void * ActivationContextData | const struct _ACTIVATION_CONTEXT_DATA * ActivationContextData | 0x02F8 | ||||||||||||||||
0x01FC | void * ProcessAssemblyStorageMap | struct _ASSEMBLY_STORAGE_MAP * ProcessAssemblyStorageMap | 0x0300 | ||||||||||||||||
0x0200 | void * SystemDefaultActivationContextData | const struct _ACTIVATION_CONTEXT_DATA * SystemDefaultActivationContextData | 0x0308 | ||||||||||||||||
0x0204 | void * SystemAssemblyStorageMap | struct _ASSEMBLY_STORAGE_MAP * SystemAssemblyStorageMap | 0x0310 | ||||||||||||||||
0x0208 | uintptr_t MinimumStackCommit | 0x0318 | |||||||||||||||||
0x020C | void * * FlsCallback | struct _FLS_CALLBACK_INFO * FlsCallback | 0x0320 | ||||||||||||||||
0x0210 | struct _LIST_ENTRY FlsListHead | 0x0328 | |||||||||||||||||
0x0218 | void * FlsBitmap | 0x0338 | |||||||||||||||||
0x021C | unsigned long[4] FlsBitmapBits | 0x0340 | |||||||||||||||||
0x022C | unsigned long FlsHighIndex | 0x0350 | |||||||||||||||||
0x0230 | void * WerRegistrationData | 0x0358 | |||||||||||||||||
0x0234 | void * WerShipAssertPtr | 0x0360 | |||||||||||||||||
0x0238 | void * pContextData | void * pUnused | 0x0368 | ||||||||||||||||
0x023C | void * pImageHeaderHash | 0x0370 | |||||||||||||||||
0x0240 | unsigned long TracingFlags | 0x0378 | |||||||||||||||||
0x0240:0x00 | unsigned long HeapTracingEnabled | 0x0378:0x00 | |||||||||||||||||
0x0240:0x01 | unsigned long CritSecTracingEnabled | 0x0378:0x01 | |||||||||||||||||
0x0240:0x02 | unsigned long SpareTracingBits | unsigned long LibLoaderTracingEnabled | 0x0378:0x02 | ||||||||||||||||
0x0240:0x03 | unsigned long SpareTracingBits | 0x0378:0x03 | |||||||||||||||||
uint8_t[4] Padding6 | uint8_t[4] Padding6 | 0x037C | |||||||||||||||||
0x0248 | uint64_t CsrServerReadOnlySharedMemoryBase | 0x0380 | |||||||||||||||||
0x0250 | uintptr_t TppWorkerpListLock | 0x0388 | |||||||||||||||||
0x0254 | struct _LIST_ENTRY TppWorkerpList | 0x0390 | |||||||||||||||||
0x025C | void *[128] WaitOnAddressHashTable | 0x03A0 |