http://www.wasm.ru/article.php?article=fwb внизу пример dllinject.rar (2 кб) Пример инжекат dll и скрытия ее из PEB. в нем кусок Код (Text): HideFromPeb: ; hInstance push esi push ebx mov esi, [esp+0Ch] mov eax, [fs:30h] mov eax, [eax+PEB.LoaderData] add eax, PEB_LDR_DATA.InLoadOrderModuleList @@: mov eax, [eax+LDR_MODULE.InLoadOrderModuleList.Flink] cmp esi, [eax+LDR_MODULE.BaseAddress] jnz @B mov esi, [eax+LIST_ENTRY.Flink] mov ebx, [eax+LIST_ENTRY.Blink] mov [ebx+LIST_ENTRY.Flink], esi mov esi, [eax+LIST_ENTRY.Blink] mov ebx, [eax+LIST_ENTRY.Flink] mov [ebx+LIST_ENTRY.Blink], esi lea eax, [eax+LDR_MODULE.InMemoryOrderModuleList] mov esi, [eax+LIST_ENTRY.Flink] mov ebx, [eax+LIST_ENTRY.Blink] mov [ebx+LIST_ENTRY.Flink], esi mov esi, [eax+LIST_ENTRY.Blink] mov ebx, [eax+LIST_ENTRY.Flink] mov [ebx+LIST_ENTRY.Blink], esi pop ebx pop esi ret Через PEB получаем список модулей и удаляем оттуда линку. Тему можно удалить, уже сам разобрался.
emptyHook Угу, там перед вызовом nt-сервиса api забирает имя модуля посредством GetModuleFileNameW. Судя по всему если надо захучить можно сделать самостоятельно посредством сервиса, туда передается непосредственно имя на стек.