// Ищем PEB
PEB = (PPEB64)__readgsqword(0x60);
/* Для x86 нужно обращаться по шлюзу FS с адресом 0x30, это можно делать как интриксом:
PEB = (PPEB32)__readfsdword(0x30);
Так и асм-вставкой (только для x86, ибо микромягкие их выпилили из x64):
PPEB32 PEB;
__asm {
mov eax, fs:[0x30]
mov PEB, eax
}
*/
// Инициализируем данные "загрузчика"
PPEB_LDR_DATA LdrData = PEB->Ldr;
LIST_ENTRY List = LdrData->InLoadOrderModuleList;