Відновлення даних з порожнього місця
Привіт, Хабр. У новорічні канікули з’явилася можливість написати про цікавий випадок (хоча таких кейсів у нас в DATALABS не мало). А цікавий він тим, що повністю обнуленої USB флешки, ми вдало відновили дані. Якщо цікаво як? Ласкаво просимо під кат…
Пропозиція відформатувати
накопичувач Windows видає в тих випадках, коли не може визначити на пристрої файлову структуру, от і пропонує створити нову, шляхом форматування.
У нашому випадку потрібні дані і форматувати не можна. Дивимося дисковим редактором, що ж сталося з файловою структурою.
WinHex:
Опаньки… Все! Всі 32 гігабайти «залиті» нулями… Даних немає! Шеф, все пропало.
Відразу запитуємо клієнта, чи не давав кому? і той злісний товариш не запускав чи утиліти ремонту? Відповідь: Ні, відразу до вас.
Якщо флешку ні хто не «прошивати» і не записував її паттерном, то не могла ж вона в мить обнулитися, на це потрібен час і дію.
Ок, росіяни не здаються. Спаяні мікросхему і подивимося вміст пам’яті безпосередньо, в обхід контролера. В даному випадку в одному корпусі два кристала, Разом зі службовою інформацією виходить два дампа за 18гб.
В дампі не нулі, але це ще ні про що не говорить, так як на сучасних флешках контролер пише дані не в явному вигляді, а через операцію XOR.
Якщо всі блоки однакові, то так, накопичувач залитий одним і тим же. Але нам пощастило вони різні, а це дані!
Потрібно підібрати ксор, і зібрати блоки в потрібній послідовності за алгоритмом контролера.
Пошаманим ростовським комплексом
І вауля, 26 гігабайт даних, 9000 файлів, битих з них 900. На жаль картинку з даними ми не маємо права викладати, так як у нас в конторі конфіденційність понад усе.
У висновку цієї міні історії зі щасливим кінцем (клієнт спочатку засмутився, що там одні нулі), потрібно написати чому не всі файли коректно відновилися.
Якість сучасних чіпів пам’яті дуже сумна, і незважаючи на гучні заяви виробників про те, що ось ми зробили величезну кількість циклів запису… статистика показує зворотне. Знос відбувається дуже швидко, в порівнянні з флешками які вимірювалися мегабайтами. Ну не будемо про це тут і зараз.
Щодо цього випадку, флешка вмирала і «сигналізувала» про це непрямим шляхом, а саме: запускалася перевірка диска, результат роботи чекдиска — папка FOUND, у відновлених даних присутній. Це вже були перші дзвіночки, що вона «сиплеться».
Контролер побачив, що кількість поганих комірок пам’яті вже величезна і зробив такий «фінт вухами» як, віддача в інтерфейс нулів.
Нам же довелося вичитувати биті сектора, багаторазовим читанням, якісь з них вдалося прочитати або поновити з ECC. Як результат – клієнт задоволений. А починалося все, з порожнього місця…