Re[2]: [so] Intrebari tema 2
Catalin Alexandru
so@cursuri.cs.pub.ro
Sat, 13 Nov 2004 17:16:47 +0200
> Pentru aplicatiile care importa user32.dll exista o cheie in
> registry care specifica o lista de dll-uri ce pot fi
> incarcate la startup (imediat cum se incarca user32.dll). Mai
> multe informatii la:
> http://support.microsoft.com/kb/q197571/
> Ramane totusi problema cu aplicatiile de consola.
De acord, dar nu poate fi folosita in cazul de fata.
> Alta posibilitate ar fi un hook global pe CreateProcess care
> injecteaza automat fiecare proces pornit cu dll-ul respectiv.
> Aceasta metoda are avantajul ca un proces poate fi creat
> suspendat si injectat inainte sa apuce sa ruleze vreo
> instructiune proprie (lucru binevenit mai ales ca operatiile
> de hooking pe functii sunt inerent thread-unsafe). Desigur,
> trebuie ca cel putin un proces care lanseaza alte procese sa
> fie injectat la inceput de catre tipd (cmd.exe sau explorer.exe).
De acord si cu asta, dar pica cazul generic, care pare sa fie
cerut de tema.
> In ambele cazuri, incarcarea .dll-ului reuseste numai daca se
> afla in path (ceea ce in windows include si dir curent), deci
> are intr-un fel legatura pt ca se poate limita injectarea
> lasand dll-ul intr-un folder care nu este in path si lansand
> procese numai din acel director. Cum vad eu un posibil
> scenariu de testare: se lanseaza tipd, se lanseaza cmd.exe
> intr-un dir ce contine .dll-ul, si apoi se monitorizeaza
> procesele lansate de cmd.exe (asta folosind a doua metoda).
Asa ar merge testarea, dar, din nou, nu e cazul generic. Bine,
dupa parerea mea, mai logica ar fi o injectare a tuturor
proceselor instaland o functie in lantul de hook-uri (folosind
SetWindowsHookEx), dar nu mai merge chestia cu dll-ul in calea
curenta.
Dar speram ca exista o metoda un pic mai simpla decat astea. Din
indicatiile de la tema asa parea.
Catalin