본문 바로가기

Research/Windows

PEB, PEB_LDR_DATA, LDR_MODULE






typedef struct _PEB_LDR_DATA 
{ 
 ULONG Length; // +0x00 
 BOOLEAN Initialized; // +0x04 
 PVOID SsHandle; // +0x08 
 LIST_ENTRY InLoadOrderModuleList; // +0x0c 
 LIST_ENTRY InMemoryOrderModuleList; // +0x14 
 LIST_ENTRY InInitializationOrderModuleList;// +0x1c 
} PEB_LDR_DATA,*PPEB_LDR_DATA; // +0x24 
 
typedef struct _LDR_MODULE{ 
LIST_ENTRY          InLoadOrderModuleList;   +0x00 
LIST_ENTRY          InMemoryOrderModuleList; +0x08   
LIST_ENTRY          InInitializationOrderModuleList; +0x10 
void*               BaseAddress;  +0x18 
void*               EntryPoint;   +0x1c 
ULONG               SizeOfImage; 
UNICODE_STRING      FullDllName; 
UNICODE_STRING      BaseDllName; 
ULONG               Flags; 
SHORT               LoadCount; 
SHORT               TlsIndex; 
HANDLE              SectionHandle; 
ULONG               CheckSum; 
ULONG               TimeDateStamp; 
} LDR_MODULE, *PLDR_MODULE;

그림이 너무 좋아서. 출처 http://www.rohitab.com/discuss/topic/35251-3-ways-to-get-address-base-kernel32-from-peb/

'Research > Windows' 카테고리의 다른 글

DEBUG_EVENT code  (0) 2015.12.01
x86 Assembly/Control Flow  (0) 2015.07.21
windbg 심볼 / 치트 시트  (0) 2014.12.17
C++ constructor 생성자 호출 방식  (0) 2014.10.10
calling convention, name mangling, C/C++ DLL Export 에 대해.  (0) 2014.09.19