Loader стартует процесс, тем самым имеет хэндл процесса, потом он подгружает в процесс DLL и может ей передать этот хэндл. Вопрос, будет ли хэндл валиден для использования его из DLL?
Блин, точно, совсем забыл %) Осталось kernel32 самому настроить, а то WriteProcessMemory/ReadProcessMemory захучены и использовать не получится
Считать с диска, промапить по виртуальным размерам, настроить по базе загрузки, настроить импорт, может ещё что настроить.. но это в теории, на практике ещё не пробовал
Каждый процесс может обращаться к самому себе по хэндлу INVALID_HANDLE_VALUE (dword -1), а с kernel32 лучше не изврашаться, а вместо этого использовать функции из ntdll