Search the Community
Showing results for tags 'explorer.exe'.
-
În acest tutorial voi descrie o metod? interesant? de a ascunde fi?ierele ce nu vor putea fi accesate de c?tre utilizatorii sistemului de operare Windows (începând de la versiunea Win2000 ?i terminând cu ultima — Win8). De fapt merge vorba despre un bug, din cauza c?ruia procesul explorer.exe este obligat s? p?r?seasc? locul de munc? (pe scurt — se închide automat ?i se restarteaz?). Ideea const? în modificarea folderului ?i „transformarea” acestuia într-un shortcut ce face referire la fi?ierul desktop.ini din acela?i folder. Iat? de ce, atunci când explorer.exe încearc? s? afle propriet??ile folderului, acesta din urm? face din nou referire la obiectul s?u ?i... ?i tot a?a pân? când procesul se d? b?tut (iar acest lucru se întâmpl? foarte repede). Creators of „New folder” and „New folder (2)” proudly present — „New folder (3): The killer” — the drama of explorer.exe Istorie Persoana care a descoperit acest bug, fiind în anii studen?iei pe vremea când internetul „picura” cu un scâr?âit de mul?i cunoscut („pierzând toat? noaptea pentru a vedea 4-5 poze” ©) ?i dischetele erau la mod?, (persoana) dorea s? se asigure c? datele salvate într-un PC de la universitate nu vor fi ?terse sau copiate de c?tre al?i studen?i. Dat fiind faptul c? dischetele erau unicul ?i cel mai nesigur mod de a „transporta” datele din/c?tre acel PC, eroul nostru a hot?rât s? g?seasc? o metod? de a ascunde ?i de a proteja folderul personal pentru ca nimeni s? nu-l poat? ?terge sau copia. Despre ascunderea unui folder folosind func?iile Windows nici nu mergea vorba — to?i ?tiau cum pot fi g?site acestea. Îns?, dup? mai multe încerc?ri ?i teste, a g?sit un bug foarte interesant care opre?te for?at procesul explorer.exe atunci când utilizatorul deschide folderul personal sau folderul în care se afla acesta. El (eroul) ?tiind calea complet? putea accesa direct fi?ierele ascunse în folderul personal. Explica?ie De exemplu, fiecare utilizator avea dreptul de a crea/?terge/edita datele din folderul D:\usr\, în care fiecare student î?i salva informa?iile necesare. Eroul nostru îns?, dorind s? p?streze ?i ceva date mai importante a creat folderul D:\usr\name\key1\key2\ unde f?cea backup de pe dischet? ?i/sau salva alte informa?ii importante. Pentru D:\usr\name\key1\ îns? a folosit trucul de care vorbeam mai sus. Astfel, oricine încerca s? deschid? D:\usr\name\ sau D:\usr\name\key1\ (ace?tia probabil erau mai pu?ini, c?ci nu to?i reu?eau s? ?in? minte numele folderului \key1\) nu vedea altceva decât eroarea de r?mas bun al procesului explorer.exe. Autorul îns?, ?inând minte numele folderelor \key1\ ?i \key2\ insera direct calea c?tre acest ultim folder, iar explorer.exe r?mânea pe pozi?ii deoarece nu trebuia s? afle propriet??ile folderului \key1\. Transformare Pentru a proteja folderul folosind metoda de mai sus, e necesar s? parcurge?i urm?torii pa?i (în ordinea specificat?): Crea?i un folder în locul dorit Marca?i folderul ca fiind te tip „System” În acest folder crea?i un fi?ier desktop.txt în care scrie?i: [.ShellClassInfo] CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D} Flags=2 Redenumi?i fi?ierul desktop.txt în desktop.ini Crea?i un shortcut c?tre desktop.ini cu numele target.lnk Privi?i cum explorer.exe se zbate în ghiarele ciclului infinit. Bonus Totu?i, este ?i o mic? problem? — în cazul eroului, oricine putea ?terge folderul D:\usr\name\ f?r? a-l deschide. Îns?, voi oferi un mic bonus, pentru a interzice ?tergerea folderului personal. Chestia e foarte simpl? — pentru sistemele de operare Windows, exist? o list? de cuvinte cheie ce nu pot fi folosite la crearea unui folder sau fi?ier. Culmea e c?, a?a cum nu pot fi create astfel de obiecte, ele nu pot fi nici ?terse dac? s-a reu?it crearea unui astfel de obiect. Unul dintre aceste cuvinte cheie este ?i NUL. Ideea mea e simpl?, cre?m un folder cu numele NUL în folderul personal ?i în modul acesta interzicem ?tergerea acestuia din urm?. Automatizare Pentru a simplifica tot ce a fost scris mai sus, am f?cut un mic script în VBScript care trebuie salvat în folderul personal ca pe un fi?ier cu extensia .vbs — executând scriptul de mai jos în folderul personal, acesta v-a fi modificat corespunz?tor, iar procesul explorer.exe se v-a restarta. ' Indic?m dac? folderul poate fi ?ters sau nu Removable = false ' Ob?inem loca?ia folderului curent Set fs = WScript.createObject("Scripting.FileSystemObject") folder = fs.GetAbsolutePathName(".") ' Dac? e nevoie, folosim un mic truc pentru a proteja ?tergerea folderului If Not Removable Then ' Cre?m un folder aleatoriu Randomize secretFolder = folder & "\" & Int(Rnd(1) * 99999999) & "\" fs.createFolder(secretFolder) ' NUL folder On Error Resume Next fs.createFolder(secretFolder & "\NUL\") End If ' Marc?m folderul ca fiind de tip "system" fs.getFolder(folder).attributes = 4 ' Liniile ce vor fi scrise în fi?ierul desktop.ini lines = Array("[.ShellClassInfo]", "CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}", "Flags=2") ' Scriem datele necesare în desktop.ini Set file = fs.openTextFile(folder + "\desktop.ini", 2, True) file.write join(lines, vbCrLf) file.close ' Cre?m shortcut-ul target.lnk c?tre fi?ierul desktop.ini Set link = WScript.CreateObject("WScript.Shell").createShortcut(folder + "\target.lnk") link.targetPath = folder + "\desktop.ini" link.save msgBox "Folder-ul a fost modificat cu succes", 64, "Explorer.exe: Au revoir mon cheri" Sfaturi Nu crea?i folderul personal pe desktopul propriu (ghici?i de ce) Nu uita?i c? folderul personal poate fi accesat din alt sistem de operare Nu uita?i c? discul local poate fi formatat (astfel nu v? mai protejeaz? nimic datele) Nu uita?i c? cuvântul cheie NUL este valabil doar pentru Windows Nu uita?i s? experimenta?i — e un bug foarte iste? Nu uita?i s? posta?i întreb?rile ?i ideile voastre