Aangezien dit de blog van een data recovery bedrijf is, weet je vast dat verwijderde bestanden niet altijd permanent van een opslagmedium verdwenen zijn. Vaak worden bestanden alleen maar door het besturingssysteem bestempeld als data die overschreven kan worden. Met de juiste tools kun je deze zogenaamd verwijderde bestanden terughalen.
Is zelf bestanden terughalen een slimme manier om geld te besparen?
Zelf bestanden terughalen wordt eigenlijk nooit aangeraden. Een eigen poging tot data recovery kan de schade alleen maar verergeren, en vaak is dataherstel dan helemaal niet meer mogelijk. Een uitzondering hierop is het gebruiken van commerciële data recovery software zoals Ontrack EasyRecovery, hiermee kun je wel veilig zelf bestanden terughalen. Wil je daarentegen meer weten over de basistechnieken van data recovery, ga dan aan de slag met een hex-editor.
Ja, zo’n hex-editor wil ik wel eens proberen!
Voor je verder leest moeten we je waarschuwen dat het wijzigen van bestandsclusters met een hex-editor permanent dataverlies tot gevolg kan hebben. Wil je het toch proberen, gebruik dan een harde schijf of usb-stick die je toch weg wilde doen.
Wij raden af om verwijderde bestanden op deze manier zelf proberen terug te halen, omdat er veel andere factoren zijn die invloed kunnen hebben op het uiteindelijke resultaat. Je moet deze blogpost dan ook meer zien als een leerzame tekst dan als een praktische handleiding.
Ben je gegevens kwijt en heb je hulp nodig? Download dan een gratis proefversie van Ontrack EasyRecovery of neem contact op met een data-recovery-expert. Dat gezegd hebbende kunnen we nu aan de slag.
Benodigdheden
Indien je zelf wilt proberen om verwijderde bestanden terug te halen van een NTFS-schijf, heb je het volgende nodig:
- De schijf met verwijderde data. Dit moet een schijf zijn met gegevens die je kunt missen. Wij raden aan een usb-stick te gebruiken met één gewist bestand;
- Een pc om het bestandsherstel op uit te voeren;
- Een hex-editor (wij raden WinHex aan);
- Een tweede opslagapparaat om herstelde data op te slaan;
- De naam van het verwijderde bestand.
Sluit beide opslagapparaten op je pc aan, start de hex-editor op en je bent klaar om te beginnen.
Hoe gaat een data recovery met een hex-editor in z’n werk?
Data recovery met behulp van een hex-editor gaat in drie stappen:
- Scan het opslagapparaat om de verwijderde bestanden of gegevens te identificeren;
- Identificeer de cluster(s) van het gezochte verwijderde bestand;
- Herstel de cluster(s) met het verwijderde bestand.
Het is belangrijk om te weten dat niet elk bestand hersteld kan worden. Als de clusters met jouw verwijderde bestanden overschreven zijn, zijn je bestanden vrijwel zo goed als zeker voorgoed verdwenen. Daarom raden we in geval van dataverlies altijd aan meteen te stoppen met het gebruik van het betreffende opslagapparaat, omdat elke activiteit na het dataverlies ertoe kan leiden dat de clusters overschreven worden.
Het NTFS-volume scannen
Op de NTFS-schijf zoek je met de zoekfunctie van je hex-editor op de bestandsnaam van het verwijderde bestand. In dit voorbeeld zoeken we op “My Presentation.ppt”, de bestandsnaam van een PowerPoint-presentatie. De hex-editor laat het volgende zien:
In de rechterkolom kun je de bestandsnaam opmaken: M.y..P.r.e.s.e.n.t.a.t.i.o.n...p.p.t.€.
Onder de vele details die je na een zoekopdracht te zien krijgt is er een specificatie genaamd ‘Flags’: de rood gemarkeerde cijfers achter de tweeëntwintigste byte van de header van het bestandsrecord. Staat het veld op ‘1’, dan is het bestand in gebruik en niet verwijderd. In ons voorbeeld staat het veld op ‘0’, wat betekent dat het bestand My Presentation.ppt daadwerkelijk verwijderd is.
De zoekopdracht geeft ook waarden voor ‘Cluster size’, ‘Compression Unit Size’, ‘Allocated size of the attribute’, ‘Real size of the attribute’ en ‘Data runs’. Noteer deze waarden; je hebt ze nodig voor stap 2 van de data recovery.
Clusters identificeren
Je moet het opslagmedium opnieuw scannen voor de volgende stap: het doorlopen van alle bestandsclusters tot je de bestandsgrootte vindt die overeenkomt met de geselecteerde clusters. Het NTFS-bestandssysteem geeft elk bestand een _DATA_-kenmerk dat de ‘data runs’ aangeeft, welke op hun beurt de locatie weergeven van de bestandsclusters die hersteld moeten worden.
Voordat je verdergaat moet je de ‘data runs’ ontcijferen. Bekijk het volgende fragment uit de hex-editor:
Hier begint het lastiger te worden:
- De eerste byte (0x31) geeft aan hoeveel bytes de lengte van de data run aangeven, in dit voorbeeld 0x1, en de eerste-cluster-offset aangeven: 0x3;
- De volgende byte, 0x6E, geeft de lengte van de data run weer;
- De volgende drie bytes geven de begincluster-offset weer: 0xEBC404;
- Door het veranderen van de volgorde van de bytes kun je uitvinden dat de eerste cluster 312555 is (of 0x04C4EB in hexadecimaal);
- Door het toepassen van de lengte van de data run zoals hierboven gevonden werd, ontdekken we dat de volgende 110 clusters (0x6E) onze PowerPointpresentatie bevatten.
We weten dat dit juist is omdat de volgende byte 0x00 is, wat betekent dat er geen verdere data runs bestaan.
Clusters herstellen
Nu we de clusters gevonden hebben rest alleen nog het kopiëren van de verwijderde data naar een ander opslagmedium. Door gebruik te maken van de locatie van de eerste cluster, gevonden in stap 2 (312555), kopieer je simpelweg de 110 daarop volgende clusters, maar allereerst moet je de offset van de eerste cluster berekenen.
Dit doe je door de clustergrootte (512) te vermenigvuldigen met de locatie van de eerste cluster:
512 * 31255 = 160028160
De uitkomst moet vervolgens omgezet worden naar hex, zodat je de offset krijgt die markeert waar je verwijderde bestand begint = 0x0989D600
Je kopieert vervolgens de 110 clusters erachter (512 * 110 = 56320 bytes) naar het andere opslagmedium en voilà, je hebt nu het verwijderde bestand van de NTFS-partitie teruggehaald.
Was het de moeite waard?
Alhoewel het dus wel mogelijk is, kost een data recovery op deze manier enorm veel tijd en bovendien bestaat er de kans dat er nog meer data verloren gaan. Zoals we al eerder zeiden zijn er veel factoren die een data recovery kunnen doen slagen of falen. Je moet deze post dan ook zien als louter educatief. Het is beter om gebruik te maken van data recovery software die dit voor je doet of een data recovery service waarbij al je zorgen uit handen worden genomen
De blog geeft ook goed weer wat voor puzzelwerk onze data recovery ingenieurs moeten doen bij complexere softwarematige schades, bijvoorbeeld bij virtuele systemen, al dan niet veroorzaakt door fysieke schades of voor “onmogelijke” gevallen waar nog geen software of tooling bestaat.