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