typedef struct _PEB32 { unsigned char InheritedAddressSpace; unsigned char ReadImageFileExecOptions; unsigned char BeingDebugged; union { unsigned char BitField; struct { unsigned char ImageUsesLargePages : 1; unsigned char IsProtectedProcess : 1; unsigned char IsLegacyProcess : 1; unsigned char IsImageDynamicallyRelocated : 1; unsigned char SkipPatchingUser32Forwarders : 1; unsigned char SpareBits : 3; }; }; unsigned long Mutant; unsigned long ImageBaseAddress; unsigned long Ldr; unsigned long ProcessParameters; unsigned long SubSystemData; unsigned long ProcessHeap; unsigned long FastPebLock; unsigned long AtlThunkSListPtr; unsigned long IFEOKey; union { unsigned long CrossProcessFlags; struct { unsigned long ProcessInJob : 1; unsigned long ProcessInitializing : 1; unsigned long ProcessUsingVEH : 1; unsigned long ProcessUsingVCH : 1; unsigned long ProcessUsingFTH : 1; unsigned long ReservedBits0 : 27; }; }; union { unsigned long KernelCallbackTable; unsigned long UserSharedInfoPtr; }; unsigned long SystemReserved[1]; unsigned long AtlThunkSListPtr32; unsigned long ApiSetMap; unsigned long TlsExpansionCounter; unsigned long TlsBitmap; unsigned long TlsBitmapBits[2]; unsigned long ReadOnlySharedMemoryBase; unsigned long HotpatchInformation; unsigned long ReadOnlyStaticServerData; unsigned long AnsiCodePageData; unsigned long OemCodePageData; unsigned long UnicodeCaseTableData; unsigned long NumberOfProcessors; unsigned long NtGlobalFlag; LARGE_INTEGER CriticalSectionTimeout; unsigned long HeapSegmentReserve; unsigned long HeapSegmentCommit; unsigned long HeapDeCommitTotalFreeThreshold; unsigned long HeapDeCommitFreeBlockThreshold; unsigned long NumberOfHeaps; unsigned long MaximumNumberOfHeaps; unsigned long ProcessHeaps; unsigned long GdiSharedHandleTable; unsigned long ProcessStarterHelper; unsigned long GdiDCAttributeList; unsigned long LoaderLock; unsigned long OSMajorVersion; unsigned long OSMinorVersion; unsigned short OSBuildNumber; unsigned short OSCSDVersion; unsigned long OSPlatformId; unsigned long ImageSubsystem; unsigned long ImageSubsystemMajorVersion; unsigned long ImageSubsystemMinorVersion; unsigned long ActiveProcessAffinityMask; unsigned long GdiHandleBuffer[34]; unsigned long PostProcessInitRoutine; unsigned long TlsExpansionBitmap; unsigned long TlsExpansionBitmapBits[32]; unsigned long SessionId; ULARGE_INTEGER AppCompatFlags; ULARGE_INTEGER AppCompatFlagsUser; unsigned long pShimData; unsigned long AppCompatInfo; STRING32 CSDVersion; unsigned long ActivationContextData; unsigned long ProcessAssemblyStorageMap; unsigned long SystemDefaultActivationContextData; unsigned long SystemAssemblyStorageMap; unsigned long MinimumStackCommit; unsigned long FlsCallback; LIST_ENTRY32 FlsListHead; unsigned long FlsBitmap; unsigned long FlsBitmapBits[4]; unsigned long FlsHighIndex; unsigned long WerRegistrationData; unsigned long WerShipAssertPtr; unsigned long pContextData; unsigned long pImageHeaderHash; union { unsigned long TracingFlags; struct { unsigned long HeapTracingEnabled : 1; unsigned long CritSecTracingEnabled : 1; unsigned long SpareTracingBits : 30; }; }; } PEB32, *PPEB32;