Resolve module from PEB or memory scan.
Teknik module-enumeration mendemonstrasikan cara mendapatkan DllBase modul target tanpa memanggil GetModuleHandle, LoadLibrary, atau API loader internal lainnya. Setelah DllBase diketahui, resolusi fungsi dapat dilanjutkan dengan teknik lain (misalnya export walk di dynamic-load/manual-name).
Dua kelompok pendekatan yang diimplementasikan:
PEB linked-list walk — Windows menyimpan daftar modul yang telah dimuat di PEB.Ldr (PEB_LDR_DATA). Setiap entri modul (LDR_DATA_TABLE_ENTRY) terhubung ke tiga linked list berbeda:
InLoadOrderModuleList— urutan saat modul dimuat ke memori.InMemoryOrderModuleList— urutan alokasi memori modul.InInitializationOrderModuleList— urutan inisialisasi DllMain modul.
Untuk mendapatkan entri modul dari pointer LIST_ENTRY, gunakan makro CONTAINING_RECORD dengan field link yang sesuai (InLoadOrderLinks, InMemoryOrderLinks, atau InInitializationOrderLinks).
Memory scan — memindai address space proses untuk menemukan region bertipe MEM_IMAGE, memvalidasi header PE, dan mencocokkan nama modul dari export directory. Pendekatan ini tidak bergantung pada PEB.Ldr.
Daftar teknik module-enumeration yang diimplementasikan:
PEB linked-list walk
- InLoadOrder: resolusi modul dengan menelusuri
InLoadOrderModuleListdan mencocokkanBaseDllName. - InMemoryOrder: resolusi modul dengan menelusuri
InMemoryOrderModuleListdan mencocokkanBaseDllName. - InInitializationOrder: resolusi modul dengan menelusuri
InInitializationOrderModuleListdan mencocokkanBaseDllName.
Memory scan
- VirtualQuery: resolusi modul dengan memindai address space menggunakan
VirtualQuerydan mencocokkan export name PE.