typedef
struct
_NT_TIB
{
struct
_EXCEPTION_REGISTRATION_RECORD *ExceptionList;
PVOID
StackBase;
PVOID
StackLimit;
PVOID
SubSystemTib;
union
{
PVOID
FiberData;
ULONG
Version;
};
PVOID
ArbitraryUserPointer;
struct
_NT_TIB *Self;
} NT_TIB, *PNT_TIB;
typedef
struct
_TEB
{
NT_TIB Tib;
PVOID
EnvironmentPointer;
CLIENT_ID Cid;
PVOID
ActiveRpcHandle;
PVOID
ThreadLocalStoragePointer;
struct
_PEB *ProcessEnvironmentBlock;
ULONG
LastErrorValue;
ULONG
CountOfOwnedCriticalSections;
PVOID
CsrClientThread;
struct
_W32THREAD* Win32ThreadInfo;
ULONG
User32Reserved[0x1A];
ULONG
UserReserved[5];
PVOID
WOW32Reserved;
LCID
CurrentLocale;
ULONG
FpSoftwareStatusRegister;
PVOID
SystemReserved1[0x36];
LONG
ExceptionCode;
struct
_ACTIVATION_CONTEXT_STACK *ActivationContextStackPointer;
UCHAR
SpareBytes1[0x28];
GDI_TEB_BATCH GdiTebBatch;
CLIENT_ID RealClientId;
PVOID
GdiCachedProcessHandle;
ULONG
GdiClientPID;
ULONG
GdiClientTID;
PVOID
GdiThreadLocalInfo;
ULONG
Win32ClientInfo[62];
PVOID
glDispatchTable[0xE9];
ULONG
glReserved1[0x1D];
PVOID
glReserved2;
PVOID
glSectionInfo;
PVOID
glSection;
PVOID
glTable;
PVOID
glCurrentRC;
PVOID
glContext;
NTSTATUS LastStatusValue;
UNICODE_STRING StaticUnicodeString;
WCHAR
StaticUnicodeBuffer[0x105];
PVOID
DeallocationStack;
PVOID
TlsSlots[0x40];
LIST_ENTRY TlsLinks;
PVOID
Vdm;
PVOID
ReservedForNtRpc;
PVOID
DbgSsReserved[0x2];
ULONG
HardErrorDisabled;
PVOID
Instrumentation[14];
PVOID
SubProcessTag;
PVOID
EtwTraceData;
PVOID
WinSockData;
ULONG
GdiBatchCount;
BOOLEAN
InDbgPrint;
BOOLEAN
FreeStackOnTermination;
BOOLEAN
HasFiberData;
UCHAR
IdealProcessor;
ULONG
GuaranteedStackBytes;
PVOID
ReservedForPerf;
PVOID
ReservedForOle;
ULONG
WaitingOnLoaderLock;
ULONG
SparePointer1;
ULONG
SoftPatchPtr1;
ULONG
SoftPatchPtr2;
PVOID
*TlsExpansionSlots;
ULONG
ImpersionationLocale;
ULONG
IsImpersonating;
PVOID
NlsCache;
PVOID
pShimData;
ULONG
HeapVirualAffinity;
PVOID
CurrentTransactionHandle;
PTEB_ACTIVE_FRAME ActiveFrame;
PVOID
FlsData;
UCHAR
SafeThunkCall;
UCHAR
BooleanSpare[3];
} TEB, *PTEB;
typedef
struct
_LIST_ENTRY
{
struct
_LIST_ENTRY *Flink;
struct
_LIST_ENTRY *Blink;
} LIST_ENTRY, *PLIST_ENTRY;
typedef
struct
_PER_LDR_DATA
{
ULONG
Length;
BOOLEAN
Initialize;
PVOID
SsHandle;
LIST_ENTRY InLoadOrderModuleList;
LIST_ENTRY InMemoryOrderModuleList;
LIST_ENTRY InInitializationOrderModuleList;
} PER_LDR_DATA, *PPER_LDR_DATA;
typedef
struct
_UNICODE_STRING
{
USHORT
Length;
USHORT
MaximumLength;
PWSTR
Buffer;
} UNICODE_STRING ,*PUNICODE_STRING;
typedef
struct
_LDR_DATA_TABLE_ENTRY
{
LIST_ENTRY InLoadOrderLinks;
LIST_ENTRY InMemoryOrderLinks;
LIST_ENTRY InInitializationOrderLinks;
PVOID
DllBase;
PVOID
EntryPoint;
ULONG
SizeOfImage;
UNICODE_STRING FullDllName;
UNICODE_STRING BaseDllName;
ULONG
Flags;
WORD
LoadCount;
WORD
TlsIndex;
union
{
LIST_ENTRY HashLinks;
struct
{
PVOID
SectionPointer;
ULONG
CheckSum;
};
};
union
{
ULONG
TimeDateStamp;
PVOID
LoadedImports;
};
_ACTIVATION_CONTEXT * EntryPointActivationContext;
PVOID
PatchInformation;
} LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
typedef
struct
_PEB
{
UCHAR
InheritedAddressSpace;
UCHAR
ReadImageFileExecOptions;
UCHAR
BeingDebugged;
UCHAR
SpareBool;
HANDLE
Mutant;
HINSTANCE
ImageBaseAddress;
struct
_PER_LDR_DATA *Ldr;
strcut _RTL_USER_PPROCESS_PARAMETERS *ProcessParameters;
ULONG
SubSystemData;
HANDLE
DefaultHeap;
KSPIN_LOCK FastPebLock;
ULONG
FastPebLockRoutine;
ULONG
FastPebUnlockRoutine;
ULONG
EnvironmentUpdateCount;
ULONG
KernelCallbackTable;
LARGE_INTEGER SystemReserved;
struct
_PER_FREE_BLOCK *FreeList;
ULONG
TlsExpansionCounter;
ULONG
TlsBitmap;
LARGE_INTEGER TlsBitmapBits;
ULONG
ReadOnlySharedMemoryBase;
ULONG
ReadOnlySharedMemoryHeap;
ULONG
ReadOnlyStaticServerData;
ULONG
AnsiCodePageData;
ULONG
OemCodePageData;
ULONG
UnicodeCaseTableData;
ULONG
NumberOfProcessors;
LARGE_INTEGER NtGlobalFlag;
LARGE_INTEGER CriticalSectionTimeout;
ULONG
HeapSegmentReserve;
ULONG
HeapSegmentCommit;
ULONG
HeapDeCommitTotalFreeThreshold;
ULONG
HeapDeCommitFreeBlockThreshold;
ULONG
NumberOfHeaps;
ULONG
MaximumNumberOfHeaps;
ULONG
ProcessHeaps;
ULONG
GdiSharedHandleTable;
ULONG
ProcessStarterHelper;
ULONG
GdiDCAttributeList;
KSPIN_LOCK LoaderLock;
ULONG
OSMajorVersion;
ULONG
OSMinorVersion;
USHORT
OSBuildNumber;
USHORT
OSCSDVersion;
ULONG
OSPlatformId;
ULONG
ImageSubsystem;
ULONG
ImageSubsystemMajorVersion;
ULONG
ImageSubsystemMinorVersion;
ULONG
ImageProcessAffinityMask;
ULONG
GdiHandleBuffer[0x22];
ULONG
PostProcessInitRoutine;
ULONG
TlsExpansionBitmap;
UCHAR
TlsExpansionBitmapBits[0x80];
ULONG
SessionId;
} PEB, *PPEB;