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.
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ą.]
W przypadku próby odzyskania usuniętych plików z dysku z systemem plików NTFS powinieneś przygotować:
Podłącz oba dyski do komputera i uruchom edytor szesnastkowy. Jesteś gotowy do rozpoczęcia pracy.
Proces odzyskiwania danych przy użyciu edytorów heksadecymalnych składa się z trzech etapów:
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.
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.
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ć:
Wiemy, że jest to poprawne, ponieważ następny bajt to 0x00, co oznacza, że nie istnieje już żaden dalszy przebieg danych.
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.
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.