В статье Ms-Rem'а есть кусок кода удаляющий из DLL из списка загруженных длл процесса http://wasm.ru/article.php?article=fwb Помогите разобраться как это же на Си реализовать Код (Text): format PE GUI 4.0 DLL include '%fasminc%\win32a.inc' include 'structs.inc' text db 'Fuck you, world!', 0 caption db 'Dll inject', 0 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 entry $ cmp dword [esp+8], DLL_PROCESS_ATTACH jnz @F push dword [esp+4] call HideFromPeb invoke MessageBox, 0, text, caption, 0 @@: mov eax, 1 retn 0Ch section '.idata' import data readable library user32, 'user32.dll' include '%fasminc%\apia\user32.inc' section '.reloc' fixups data discardable
PsReadRtfm http://www.phrack.org/archives/62/p62-0x0c_Win32_Portable_Userland_Rootkit.txt см. раздел 4.7. - Module stealth