În interiorul căutării și recuperării fișierelor șterse FAT

Citit despre procesul de recuperare a datelor de pe un disc FAT și algoritmul utilizat pentru recuperarea fișierelor. Acum că am găsit sistemul de fișiere, putem începe să analizăm înregistrările acestuia. Scopul nostru este identificarea adreselor sectoarelor fizice de pe disc care conțin date aparținând unui fișier șters. Pentru a face acest lucru, un algoritm de recuperare a datelor va scana sistemul de fișiere și va enumera înregistrările acestuia.

căutării

Algoritmul de căutare și structura tabelei de partiții FAT

În prima parte a articolului, am analizat algoritmul de căutare și structura tabelului de partiții FAT. În sistemul FAT, fiecare fișier și director are o înregistrare corespunzătoare în sistemul de fișiere, așa-numita intrare de director. Intrările din director conțin informații despre fișier, inclusiv numele, atributele, adresa inițială și lungimea acestuia.

Conținutul unui fișier sau director este stocat în blocuri de date de lungime egală. Aceste blocuri de date se numesc clustere. Fiecare cluster conține un anumit număr de sectoare de disc. Acest număr este o valoare fixă ​​pentru fiecare volum FAT. Este înregistrat în structura corespunzătoare a sistemului de fișiere.

Partea dificilă este atunci când un fișier sau director conține mai mult de un singur cluster. Clusterele ulterioare sunt identificate cu structuri de date numite FAT (File Allocation Table). Aceste structuri sunt utilizate pentru a identifica clusterele ulterioare care aparțin unui anumit fișier și pentru a identifica dacă un anumit cluster este ocupat sau disponibil.

Înainte de a analiza sistemul de fișiere, este esențial să identificați cele trei zone ale sistemului.

  • Prima zonă este rezervată; conține informații esențiale despre sistemul de fișiere. În FAT12 și FAT16, această zonă are o lungime de un sector. FAT32 poate utiliza mai mult de un sector. Mărimea acestei zone este specificată în sectorul de încărcare.
  • A doua zonă aparține sistemului FAT și conține structuri primare și secundare ale sistemului de fișiere. Această zonă urmează imediat zona rezervată. Dimensiunea sa este definită de dimensiunea și numărul structurilor FAT.
  • În cele din urmă, ultima zonă conține datele reale. Conținutul fișierelor și directoarelor este stocat în această zonă specială.

La analizarea sistemului de fișiere, zona FAT va fi de interes principal. Această zonă conține informații despre adresele fizice ale fișierelor de pe disc.

figura 1. Structura fizică a sistemului de fișiere FAT.

Când se analizează sistemul de fișiere, este esențial să se determine corect cele trei zone ale sistemului. Zona rezervată începe întotdeauna chiar de la începutul sistemului de fișiere (numărul sectorului 0). Mărimea acestei zone este specificată în sectorul de încărcare. În FAT12 și FAT16 dimensiunea acestei zone este exact un sector. În FAT32, această zonă poate ocupa mai multe sectoare.

Zona FAT urmează imediat zona rezervată. Zona FAT conține una sau mai multe structuri FAT. Mărimea acestei zone este calculată prin înmulțirea numărului de structuri FAT cu dimensiunea fiecărei structuri. Aceste valori sunt stocate și în sectorul de boot.

Recuperarea fișierelor

În sfârșit, suntem aproape de recuperarea primului nostru fișier. Să presupunem că fișierul a fost șters recent și nici o parte din fișier nu a fost suprascrisă cu alte date. Aceasta înseamnă că toate clusterele utilizate anterior de acest fișier sunt acum marcate ca fiind disponibile.