Biorąc pod uwagę fakt, że odwiedziłeś właśnie blog firmy zajmującej się odzyskiwaniem danych, to prawdopodobnie zdajesz sobie sprawę z faktu, iż „ usuwanie” danych nie powoduje ich natychmiastowego zniknięcia z dysku.
Dzisiaj chcielibyśmy Wam pokazać, jak samodzielnie możecie przywrócić usunięty plik – bez wykorzystania w tym celu oprogramowania dedykowanego takim operacjom. Jednak na wstępie musimy wspomnieć, że odzyskiwanie danych na własną rękę metodami „zrób to sam” nie jest zalecane. Takie próby przeważnie kończą się pogorszeniem stanu faktycznego i prowadzą do tego, że nawet specjalista nie jest w stanie ich odzyskać (czytaj: dane przepadają na zawsze).
Jednak jeżeli chcesz poznać podstawy odzyskiwania danych, możesz wykorzystać w tym celu edytor szesnastkowy / heksadecymalny.
Zanim przejdziesz do dalszej części artykułu, musisz mieć świadomość, że używanie edytora szesnastkowego do zmiany klastrów zaalokowanych przez pliki może doprowadzić do trwałej utraty danych. Biorąc pod uwagę to ryzyko, jeżeli chcesz spróbować odzyskiwania danych za pomocą opisanej poniżej metody, użyj w tym celu dysku, który nie przedstawia dla Ciebie większej wartości (i nie zawiera istotnych danych) lub pamięci USB.
Ostrzeżenie!
Nie zalecamy samodzielnego odzyskiwania utraconych plików przy użyciu opisanej przez nas metody, ponieważ istnieje wiele czynników, które wpływają na proces przywracania danych (a wśród nich są m.in. uszkodzenia fizyczne nośnika). Celem tego artykułu jest wyłącznie edukacja.
[Jeżeli straciłeś ważne dane i chcesz je odzyskać, skontaktuj się ze specjalistą.]
Czego potrzebujesz?
W przypadku próby odzyskania usuniętych plików z dysku z systemem plików NTFS powinieneś przygotować:
- Dysk zawierający usunięte dane – pamiętaj, że powinien to być dysk z danymi, które mogą zostać utracone. Zalecamy użycie pamięci USB z jednym usuniętym plikiem.
- Komputer do przeprowadzenia operacji odzyskiwania plików.
- Edytor szesnastkowy / heksadecymalny (zalecamy WinHex).
- Drugi dysk do skopiowania odzyskanych danych.
- Nazwę usuniętego pliku.
Podłącz oba dyski do komputera i uruchom edytor szesnastkowy. Jesteś gotowy do rozpoczęcia pracy.
Zaczynamy!
Proces odzyskiwania danych przy użyciu edytorów heksadecymalnych składa się z trzech etapów:
- Skanowanie dysku w celu zidentyfikowania usuniętych plików (lub wpisów).
- Identyfikacja łańcucha klastrów dla usuniętego pliku.
- Odzyskiwanie klastrów zawierających usunięty plik.
Pamiętaj, że nie każdy plik można odzyskać! Jeśli klastry zawierające usunięte pliki zostały nadpisane, dane prawie na pewno zniknęły. Dlatego zawsze zalecamy natychmiastowe zaprzestanie korzystania z urządzenia dotkniętego utratą danych, ponieważ każda czynność po utracie danych może spowodować nadpisanie tych klastrów.
Skanowanie woluminu NTFS
Za pomocą funkcji wyszukiwania wbudowanej w edytor szesnastkowy, zeskanuj dysk w poszukiwaniu nazwy usuniętego pliku. W tym przykładzie szukamy prezentacji PowerPoint zatytułowanej "My Presentation.ppt". Edytor zwróci ciąg znaków w ten sposób:
W prawej kolumnie zobaczysz ten plik pod nazwą M.y. .P.r.e.s.e.n.t.a.t.i.o.n…p.p.t.€
Jednym z wielu zwróconych atrybutów jest „Flaga” (oznaczenie, czy plik istnieje). Atrybut ten zlokalizowany jest na 22 bajcie w nagłówku rekordu pliku – na powyższej grafice jest podświetlony na czerwono. Jeśli pole jest ustawione na 1, plik jest „w użyciu” lub nie jest usunięty. W naszym przykładzie pole jest ustawione na 0, co oznacza, że Moja prezentacja.ppt została usunięta.
Wyszukiwanie zwróciło również wartości rozmiaru klastra, rozmiaru jednostki kompresji, przydzielonej wielkości atrybutu, rzeczywistej wielkości atrybutu oraz atrybutów przebiegu pliku na dysku. Zanotuj te wartości – będą potrzebne w drugim etapie procesu odzyskiwania.
Definiowanie klastrów dysku
Następnie należy przeskanować dysk, przechodząc przez wszystkie klastry zaalokowane przez plik, aż do zidentyfikowania rozmiaru pliku, który jest równy wybranym klastrom. System plików NTFS przypisuje każdemu plikowi atrybut _DATA_, który definiuje „przebieg pliku na dysku” (ang. data runs), co z kolei wskazuje lokalizację klastrów plików, które muszą zostać odzyskane.
Przed przystąpieniem do dalszych czynności należy odszyfrować przebieg pliku na dysku. Weź pod uwagę następujący fragment z edytora szesnastkowego:
Tu sprawy zaczynają się coraz bardziej komplikować:
- Pierwszy bajt (0x31) pokazuje odległość klastra, w tym przykładzie 0x1, a pierwszy odległość pliku od początku dysku – 0x3.
- Następny bajt – 0x6E – pokazuje przebieg pliku na dysku.
- Kolejne trzy bajty oznaczają odległość klastra – 0xEBC404.
- Zmieniając kolejność bajtów, odkrywamy, że pierwszym klastrem jest 312555 (lub 0x04C4EB w zapisie heksadecymalnym).
- Wykorzystując długość przebiegu danych, o których mowa powyżej, wiemy, że kolejnych 110 klastrów (0x6E) zawiera naszą prezentację PowerPoint.
Wiemy, że jest to poprawne, ponieważ następny bajt to 0x00, co oznacza, że nie istnieje już żaden dalszy przebieg danych.
Odzyskiwanie łańcucha klastrów
W przypadku zidentyfikowanego łańcucha klastrów ostatnim zadaniem jest skopiowanie „usuniętych” danych z powrotem na inny dysk twardy. Korzystając z pierwszego adresu klastra zidentyfikowanego w kroku 2 (312555), skopiuj następnie 110 klastrów, które znajdują się za nim. Najpierw jednak musisz obliczyć offset, czyli odległość od początku dysku.
Robisz to, mnożąc wielkość klastra (512) przez adres pierwszego klastra w ten sposób:
512 * 31255 = 160028160
Wartość ta musi być następnie konwertowana na zapis szesnastkowy, która oznacza adres pierwszego klastra, czyli początek brakujących danych = 0x0989D600.
Skopiowanie kolejnych 110 klastrów (512*110 = 56320 bajtów) na drugi dysk spowoduje odzyskanie „usuniętego” pliku z partycji NTFS.
Czy warto?
Odzyskanie danych w ten sposób, choć możliwe, jest bardzo czasochłonne i może potencjalnie spowodować dalszą utratę danych. Jak już wspomnieliśmy, istnieje wiele czynników, które mogą mieć wpływ na powodzenie lub niepowodzenie odzyskiwania danych. Powtarzamy zatem, że ten wpis ma charakter wyłącznie edukacyjny.