Восстановление данных из пустого места

by BABLO_S_PLUSOM+++
Восстановление данных из пустого места

 А интересен он тем, что из полностью обнулённой USB флешки, мы удачно восстановили данные. Если интересно как? Добро пожаловать под кат…


Предложение отформатировать накопитель Windows выдаёт в тех случаях, когда не может определить на устройстве файловую структуру, вот и предлагает создать новую, путём форматирования. 

В нашем случае нужны данные и форматировать нельзя. Смотрим дисковым редактором, что же случилось с файловой структурой. 

WinHex:




Опаньки… Все! Все 32 гигабайта «залиты» нулями… Данных нет! Шеф, всё пропало.

Сразу спрашиваем клиента, не давал ли кому? и тот злобный товарищ не запускал ли утилиты ремонта? Ответ: Нет, сразу к вам. 


Если флешку ни кто не «прошивал» и не записывал её паттерном, то не могла же она в миг обнулиться, на это требуется время и действие.




Ок, русские не сдаются. Спаяем микросхему и посмотрим содержимое памяти напрямую, в обход контроллера. В данном случае в одном корпусе два кристалла, Вместе со служебной информацией получается два дампа по 18гб.





В дампе не нули, но это ещё ни о чём не говорит, так как на современных флешках контроллер пишет данные не в явном виде, а через XOR операцию. 


Если все блоки одинаковы, то да, накопитель залит одним и тем же. Но нам повезло они разные, а это данные!


Нужно подобрать ксор, и собрать блоки в нужной последовательности по алгоритму контроллера. 




Пошаманим ростовским комплексом




И вауля, 26 гигабайт данных, 9000 файлов, битых из них 900. К сожалению картинку с данными мы не имеем права выкладывать, так как у нас в конторе конфиденциальность превыше всего.


В заключении этой мини истории со счастливым концом (клиент сначала расстроился, что там одни нули), нужно написать почему не все файлы корректно восстановились. 


Качество современных чипов памяти весьма печальное, и несмотря на громогласные заявления производителей о том, что вот мы сделали огромное количество циклов записи… статистика показывает обратное. Износ происходит очень быстро, по сравнению с флешками которые измерялись мегабайтами. Ну не будем об этом здесь и сейчас.


Касательно этого случая, флешка умирала и «сигнализировала» об этом косвенным путём, а именно: запускалась проверка диска, результат работы чекдиска — папка FOUND, в восстановленных данных присутствует. Это уже были первые звоночки, что она «сыпется».


Контроллер увидел, что количество плохих ячеек памяти уже огромное и сделал такой «финт ушами» как, отдача в интерфейс нулей.


Нам же пришлось вычитывать битые сектора, многократным чтением, какие-то из них удалось прочитать или восстановить из ECC. Как результат – клиент доволен. А начиналось то всё, с пустого места…

January 8, 2019
by BABLO_S_PLUSOM+++