Jump to content
B7ackAnge7z

Folderul „ucigaș” (Windows only)

Recommended Posts

Î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?):

  1. Crea?i un folder în locul dorit
  2. Marca?i folderul ca fiind te tip „System”
  3. În acest folder crea?i un fi?ier desktop.txt în care scrie?i:
    [.ShellClassInfo]
    CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}
    Flags=2


  4. Redenumi?i fi?ierul desktop.txt în desktop.ini
  5. Crea?i un shortcut c?tre desktop.ini cu numele target.lnk
  6. 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

  1. Nu crea?i folderul personal pe desktopul propriu (ghici?i de ce)
  2. Nu uita?i c? folderul personal poate fi accesat din alt sistem de operare
  3. Nu uita?i c? discul local poate fi formatat (astfel nu v? mai protejeaz? nimic datele)
  4. Nu uita?i c? cuvântul cheie NUL este valabil doar pentru Windows
  5. Nu uita?i s? experimenta?i — e un bug foarte iste?
  6. Nu uita?i s? posta?i întreb?rile ?i ideile voastre

Edited by B7ackAnge7z
  • Upvote 3
  • Downvote 1
Link to comment
Share on other sites

Dar daca un istet ai deschide cmd si ar vedea folderele si fisierele din D:\usr\name\ si D:\usr\name\key1\ :-?

Aceasta nici pe departe nu e singura metod? de a vedea ce fi?iere se ascund în acel folder. Dac? utilizatorul e înc?p??inat ?i mai are ?i un cap pe umere, cu siguran?? v-a accesa într-un final con?inutul folderului.

Totu?i, crearea folderului pe desktop face via?a mult mai frumoas? :)

Link to comment
Share on other sites

Foarte buna ideea, dar mereu exista un dar. Poti accesa folderul cu ajutorul browserului file:///C:/folder si sa vezi ce e acolo

edit!

Am reusit sa vad ce era salvat acolo fara browser si fara sa stiu ce foldere erau create. Am inchis explorer.exe si am dat comanda de del C:\folderprotejat in cmd si ce crezi a sters tot inafara de foldere. Testat doar pe windows 7

Edited by teko.
Link to comment
Share on other sites

eu mai stiu o modalitate de a ascunde Folderul sa zic asa

Primele lucruri pe care le fac atunci când încep s? lucrez la un PC „str?in” ce are instalat Windows, sunt:

  • debifare „hide extensions for known file types”;
  • bifare „show hidden files folders and drives”;
  • debifare „hide protected operating system files”;

?i sunt sigur c? majoritatea fac la fel. Iat? de ce, metoda scris? de tine, este mult prea simpl?.

Totu?i, î?i mul?umesc pentru „micu?ul tutorial”, ca o completare la ceea ce am scris eu.

Link to comment
Share on other sites

Foarte tare,numai ca am intampinat o problema...

M-am trezit ca nu mai puteam sa deschid D:\ de nici un fel :)) pana si comanda cd in cmd ma intorcea la C:\Windows\system32

chiar daca folderul protejat era X:\apps\asdf....

EDIT: solutia: in cmd: del X:\apps\asdf si si-a revenit

OFF:Titlul m-a facut sa ma gandesc la ucigasul nemilos de ficati....

Link to comment
Share on other sites

Cum pot opri acest efect de restart al procesului explorer? Am incercat cu comanda rd/s \\.\\C:\ dar nu reusesc. Exemplul meu: in C: am facut folderul i. In interiorul acestuia am pus fisiereul ddd.vbs si l-am executat. Pentru al opri am deschis cmd si am scris urmatoarea comada: rd/s \\.\\C:\i\NUL , am dat Yes pentru confirmare, dar nu imi gaseste calea. Pe unde am gresit?

LE: Am reusit din cmd, dar in alt windows. In cazul de sus nu stiu ca sa ajung pe desktop din cmd :(

Edited by odo
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...