недокументированная структура PEB_LDR_DATA
Описание самой структуры LDR_MODULE выглядит так (кстати говоря, в "The Undocumented Functions Microsoft Windows NT/2000" допущена грубая ошибка — пропущен union):
typedef struct _LDR_MODULE {
union order_type
{
/* 00 */ LIST_ENTRY InLoadOrderModuleList;
/* 00 */ LIST_ENTRY InMemoryOrderModuleList;
/* 00 */ LIST_ENTRY InInitializationOrderModuleList;
}
/* 08 */ PVOID BaseAddress;
/* 0C */ PVOID EntryPoint;
/* 10 */ ULONG SizeOfImage;
/* 14 */ UNICODE_STRING FullDllName;
/* 18 */ UNICODE_STRING BaseDllName;
/* 1C */ ULONG Flags;
/* 20 */ SHORT LoadCount;
/* 22 */ SHORT TlsIndex;
/* 24 */ LIST_ENTRY HashTableEntry;
/* 28 */ ULONG TimeDateStamp;
} LDR_MODULE, *PLDR_MODULE;