2 марта 2001
PEB
typedef struct _PEB {
BOOLEAN InheritedAddressSpace;
BOOLEAN ReadImageFileExecOptions;
BOOLEAN BeingDebugged;
BOOLEAN Spare;
HANDLE Mutant;
PVOID ImageBaseAddress;
PPEB_LDR_DATA LoaderData;
PRTL_USER_PROCESS_PARAMETERS ProcessParameters;
PVOID SubSystemData;
PVOID ProcessHeap;
PVOID FastPebLock;
PPEBLOCKROUTINE FastPebLockRoutine;
PPEBLOCKROUTINE FastPebUnlockRoutine;
ULONG EnvironmentUpdateCount;
PPVOID KernelCallbackTable;
PVOID EventLogSection;
PVOID EventLog;
PPEB_FREE_BLOCK FreeList;
ULONG TlsExpansionCounter;
PVOID TlsBitmap;
ULONG TlsBitmapBits[0x2];
PVOID ReadOnlySharedMemoryBase;
PVOID ReadOnlySharedMemoryHeap;
PPVOID ReadOnlyStaticServerData;
PVOID AnsiCodePageData;
PVOID OemCodePageData;
PVOID UnicodeCaseTableData;
ULONG NumberOfProcessors;
ULONG NtGlobalFlag;
BYTE Spare2[0x4];
LARGE_INTEGER CriticalSectionTimeout;
ULONG HeapSegmentReserve;
ULONG HeapSegmentCommit;
ULONG HeapDeCommitTotalFreeThreshold;
ULONG HeapDeCommitFreeBlockThreshold;
ULONG NumberOfHeaps;
ULONG MaximumNumberOfHeaps;
PPVOID *ProcessHeaps;
PVOID GdiSharedHandleTable;
PVOID ProcessStarterHelper;
PVOID GdiDCAttributeList;
PVOID LoaderLock;
ULONG OSMajorVersion;
ULONG OSMinorVersion;
ULONG OSBuildNumber;
ULONG OSPlatformId;
ULONG ImageSubSystem;
ULONG ImageSubSystemMajorVersion;
ULONG ImageSubSystemMinorVersion;
ULONG GdiHandleBuffer[0x22];
ULONG PostProcessInitRoutine;
ULONG TlsExpansionBitmap;
BYTE TlsExpansionBitmapBits[0x80];
ULONG SessionId;
} PEB, *PPEB;
Структура PEB (Process Enviroment Block, блок окружения процесса) содержит все параметры пользовательского режима,
ассоциированные системой с текущим процессом.
InheritedAddressSpace
ReadImageFileExecOptions
BeingDebugged
Spare
Mutant
ImageBaseAddress
Адрес исполняемого образа в памяти процесса.
LoaderData
Указатель на структуру PEB_LDR_DATA, содержащую информацию, заполненную загрузчиком.
ProcessParameters
Указатель на структуру RTL_USER_PROCESS_PARAMETERS.
SubSystemData
ProcessHeap
Адрес первой кучи процесса, выделенной загрузчиком.
FastPebLock
Параметр для PEBLOCKROUTINE (см. ниже).
FastPebLockRoutine
Адрес функции для PEB. Прототип функции:
typedef void (*PPEBLOCKROUTINE)(
PVOID PebLock
);
FastPebUnlockRoutine
PEB функция.
EnvironmentUpdateCount
Счётчик обновлений окружения процесса.
KernelCallbackTable
EventLogSection
EventLog
FreeList
TlsExpansionCounter
TlsBitmap
TlsBitmapBits[0x2]
ReadOnlySharedMemoryBase
ReadOnlySharedMemoryHeap
ReadOnlyStaticServerData
AnsiCodePageData
OemCodePageData
UnicodeCaseTableData
NumberOfProcessors
NtGlobalFlag
Spare2[0x4]
CriticalSectionTimeout
HeapSegmentReserve
HeapSegmentCommit
HeapDeCommitTotalFreeThreshold
HeapDeCommitFreeBlockThreshold
NumberOfHeaps
MaximumNumberOfHeaps
*ProcessHeaps
GdiSharedHandleTable
ProcessStarterHelper
GdiDCAttributeList
LoaderLock
OSMajorVersion
OSMinorVersion
OSBuildNumber
OSPlatformId
ImageSubSystem
ImageSubSystemMajorVersion
ImageSubSystemMinorVersion
GdiHandleBuffer[0x22]
PostProcessInitRoutine
TlsExpansionBitmap
TlsExpansionBitmapBits[0x80]
SessionId
Документировал:
Reactos
Томаш Новак
Зависимости:
Библиотека: ntdll.lib
См. также:
NtQueryInformationProcess
PEB_FREE_BLOCK
PEB_LDR_DATA
PROCESS_BASIC_INFORMATION
RTL_USER_PROCESS_PARAMETERS
TEB