Восстановление документа с диска FAT в HEX-редакторе

Читайте в статье, пошаговое руководство для поиска и восстановления документа удаленного с FAT диска с помощью HEX редактора. В предыдущих статьях мы рассматривали структуру диска FAT. В данной работе на конкретном примере мы рассмотрим поиск содержимого удаленного документа с помощью HEX редактора. Инженеры лабораторий по восстановлению данных выполняют эту операцию множество раз в день, но всё же я надеюсь, что эта информация будет полезна нашим читателям.

Восстановление документа с диска FAT в HEX-редакторе

Возьмём флеш-накопитель и отформатируем его.

Форматирование флешки

Рис.1 Форматирование флеш-накопителя.

Затем запишем на него текстовый документ размером 20 Кб, который содержит повторяющуюся текстовую строку «Test file».

Перейти к просмотру
Восстановление файлов карты памяти фотоаппарата, телефона, планшета, видеокамеры, регистратора 📁🔥⚕️

Восстановление файлов карты памяти фотоаппарата, телефона, планшета, видеокамеры, регистратора 📁🔥⚕️

Загрузочный сектор

После этого удалим тестовый объект и запустим Hetman Partition Recovery. Откроем с помощью HEX-редактора флешку, отформатированную в FAT32, и начнем анализ с зарезервированной области.

Инструмент восстанавливает файлы с любых устройств, независимо от причины потери данных.
Загрузочный сектор диска FAT

Рис.2 Загрузочный сектор диска FAT.

На рисунке выше выделены поля, которые нас интересуют:

  • Первое выделенное поле показывает, что размер сектора диска составляет 512 байт;
  • Следующий фрагмент показывает, что размер кластера равен 8192 байтам;
  • Далее мы видим, что размер зарезервированной области составляет 1160192 байта;
  • Следующее поле показывает, что на диске есть две копии FAT ;
  • Далее указано, что размер каждой копии FAT составляет 7808512;
  • Следующий фрагмент указывает на то, что корневой каталог находится во 2 кластере относительно области данных (16793600 байт).

Усвоив эту информацию, мы можем представить расположение основных структур диска FAT.

Смещение Размер Описание
0 1160192 Зарезервированная область диска
1160192 7808512 Первая копия FAT-таблицы
8968704 7808512 Вторая копия FAT-таблицы
16777216 Начало области данных
16793600 Начало корневого каталога

Корневой каталог

Давайте рассмотрим корневой каталог. Мы видим ряд записей, одна из которых наш тестовый Test.txt. Первый байт записи равен 0xE5, так как он удален. Во время удаления драйвер создает дополнительную запись в корневом каталоге диска, предшествующую основной. Эта запись также создается с первым байтом равным 0xE5. Она предназначена для сохранения имени удаляемого объекта. Давайте попробуем вернуть наше удаленное содержимое.

Корневой каталог диска FAT

Рис.3 Корневой каталог диска FAT.

На рисунке выше первой идет дополнительная запись:

  • Первое выделенное поле содержит сигнатуру 0xE5;
  • Следующее отмеченное поле содержит имя – Test.txt.

Далее идет основная запись:

  • Первое выделенное поле содержит сигнатуру 0xE5, которая указывает на то, что документ удален;
  • Далее содержится адрес кластера (относительно области данных) с содержимым (16818176 байт);
  • Далее указан размер 19584 байт.

Определив начальный кластер и размер, мы должны обратиться к области FAT, чтобы составить цепочку занимаемых им кластеров на диске. Но проблема в том, что цепочка не сохранилась. При удалении все кластеры, которые занимала цепочка, были помечены как свободные. Вот почему все, что у нас есть, это начальный кластер и размер.

Далее возможны 2 варианта:

  • Документ занял все кластеры подряд, начиная с первого. Этот способ не получится применить к фрагментированому диску.
  • Документ занял все свободные на текущий момент кластеры диска, начиная с первого. Такой подход может быть применен, если объект был удален недавно и новые объекты, которые были записаны после, не перезаписали его.

Содержимое файла

В данном случае нам подходит 1 вариант. Мы создадим текстовый файл на рабочем столе и скопируем в него содержимое, полученное в результате анализа.

Содержимое файла

Рис.4 Содержимое файла.

Важно: Сохранять результат работы необходимо на диск, отличный от анализируемого. В нашем примере мы исследовали диск F:, а результаты сохраняли на C:.

Maxim Cherniga

Автор: , Технический писатель

С 1996 года начал интересоваться IT сферой, постепенно изучая и переводя свои интересы в профессиональное русло. В начале 2000-х был студентом компьютерной академии, где изучал администрирование, программирование и дизайн. В 2011 году получил высшее образование, защитив диплом по специальности «Художник компьютерной графики».

Michael Miroshnichenko

Редактор: , Технический писатель

Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.

Рекомендуем для вас

Вас приветствует ассистент Hetman Software, созданный на основе искусственного интеллекта.
Начать Чат