Diskuze: Jak zjistit co se injectuje do souboru
Zobrazeno 2 zpráv z 2.
Záleží, jakým způsobem ke vkládání cizích věcí do programu
dochází. Pokud se jedná o to, že nějaký jiný program jej přiměje
načíst DLL knihovnu (např. tím, že v něm vytvoří vlákno, která zavolá
funkci LoadLibrary), mohla by pomoci funkce
LdrRegisterDllNotification.
https://docs.microsoft.com/…notification
Zaregistruje ti callback, který se pak volá v případě, že je nějaká DLL knihovna načtena do či uvolněna z adresového prostoru procesu. Alternativně lze hooknout např. funkci LdrLoadDll v knihovně ntdll.dll (modifikovat ji tak, aby při jejím volání došlo zároveň k volání tvého kódu).
Existují ale způsoby injekce, které tímto způsobem detekovat nelze. Například pokud si injektující program provede veškeré načítání DLL knihovny ručně (tzn. nevyužije k tomu Windows Loader).
Zobrazeno 2 zpráv z 2.