Îi scoatem parolele din sistem

În Windows 9x, există o gaură foarte mare, cu care puteți învăța cu ușurință parolele de sistem. Nu numai că au fost stocate într-un fișier cu criptare slabă, deci au fost încărcate în memoria cache și stocate acolo pe parcursul întregii operații a sistemului de operare. În același timp, API-ul Windows are funcții integrate care pot fi utilizate pentru a lucra cu parole memorate în memoria cache. Ca rezultat, Windows avea cele mai slabe capabilități de a proteja securitatea informațiilor.







Deci, acum veți învăța aceste funcții, cu care puteți spiona toate parolele. În Fig. 3.14 puteți vedea forma viitorului program. Acesta conține numai o singură componentă ListBox, pe care am întins-o peste formular.

Îi scoatem parolele din sistem

Fig. 3.14. Forma viitorului program

Listing 3.12. Programul de introducere a parolelor







procedura FormShow (expeditor: TObject); privat

tip PWinPassword = "TWinPassword; TWinPassword = înregistrare

se termină altfel dacă Count = 0 apoi ListBox. Elemente .Add ("Parola nu este prezentă");

În procedura handler pentru formularul Oncreate, se apelează un "WNetEnumCachedPasswords" nedocumentat. Această funcție caută parolele din memoria cache și le readuce la procedura specificată ca al patrulea parametru.

funcția WnetEnumCachedPasswords // Numele funcției (lp: lpStr; // Trebuie să fie NIL w: Word; // Trebuie să fie 0

b: Byte; // Trebuie să fie

externe mpr // Numele fișierului DLL în care este localizată această funcție nume 'WNetEnumCachedPasswords'; // Numele funcției din fișierul DLL.

Acum voi înșivă veți înțelege prima linie a descrierii. Funcția în care se vor întoarce parolele ar trebui să arate ca:

funcția AddPassword // numele funcției, poate fi orice. (

În PasswordC va exista o linie care conține numele de utilizator și parola. ResourceSize este dimensiunea numelui de utilizator, iar PasswordSize este dimensiunea parolei.

Singurul lucru care trebuie spus este că parola este stocată în codare DOS. Prin urmare, pentru ao vedea, trebuie să o traduceți în codificare Windows. Pentru aceasta, utilizați funcția charToOem. Primul parametru este ceea ce trebuie să re-codați, iar al doilea este rezultatul conversiei.

Pe CD-ROM din directorul \ Examples \ Chapter 3 \ Password puteți vedea un exemplu al acestui program.







Articole similare

Trimiteți-le prietenilor: