Алгоритмы восстановления данных: Как работать с файловыми “сигнатурами”
В этой статье мы подробно рассмотрим алгоритм восстановления данных по файловым “сигнатурам”. Узнайте, как работают мощные алгоритмы, позволяющие восстанавливать потерянные файлы на основе уникальных “сигнатур”. Мы представим практические методы и подходы к алгоритмическому восстановлению данных, которые помогут вам в решении проблем потери файлов.
Прочитавшие ранее опубликованную статью «Как Windows удаляет файлы и почему их можно восстановить» справедливо зададутся вопросом, как именно функционируют данные программы при повреждении или отсутствии файловой системы. В самом деле, классические инструменты по восстановлению данных работают с информацией о файлах, полученной из файловой системы. Соответственно, если записи о файле в файловой системе не обнаружено, классические инструменты (такие, как команда «undelete» из ранних версий операционных систем) не смогут даже обнаружить удалённую информацию.
Сигнатурный поиск
Поиск по сигнатурам позволяет восстановить файлы после форматирования диска или удаления логических разделов. Для технологии существует множество коммерческих названий. «Power Search», «Content-Aware Analysis», «Smart Scan» – все эти технологии от разных производителей работают по одному и тому же принципу.
Как работает поиск по сигнатурам
1. Определение файлов
Основной принцип работы алгоритмов сигнатурного поиска такой же, как у самых первых антивирусов. Как антивирус сканирует файл в поисках участков данных, совпадающих с известными фрагментами кода вирусов, так и алгоритмы сигнатурного поиска, использующиеся в программах для восстановления данных, считывают информацию с поверхности диска в надежде встретить знакомые участки данных. Заголовки многих типов файлов содержат характерные последовательности символов. К примеру, файлы в формате *.jpeg содержат последовательность символов «JFIF», *.bmp изображения начинаются с «BM», архивы *.zip начинаются с символов «PK», *.dbf базы данных содержат сигнатуру «OPLDatab», а документы PDF начинаются с символов «%PDF-».
Некоторые файлы (к примеру, текстовые и HTML файлы) не обладают характерными сигнатурами, но могут быть определены по косвенным признакам, т.к. содержат только символы из таблицы ASCII.
2. Определение размера файла
Для восстановления файла мало найти его начало, нужно также определить его конец. Конец файла можно найти, зная размер и адрес начала файла. Размер файла определяется либо анализом заголовка (*.zip, *.jpeg, *.avi, *.psd, *.pst, *.rar, *.tiff и т.п.), либо считыванием и анализом секторов диска, идущих сразу за заголовком. К примеру, концом текстового или HTML файла алгоритм будет считать первый же сектор, который будет содержать символы, не входящие в таблицу ASCII.
3. Ограничения
Сигнатурный поиск – не панацея. Перезапись содержимого файла и фрагментирование дисков (особенно – файлов большого размера) оказывают негативное влияние на возможность восстановления информации.
4. Гибридные алгоритмы
Современные программы для восстановления данных используют гибридный подход к анализу диска, стараясь по возможности считать максимум информации из файловой системы и прибегая к сигнатурному анализу содержимого диска только в случаях крайней необходимости – при повреждении или отсутствии файловой системы, а также для поиска файлов, удалённых длительное время назад.
Характеристика | Hetman Partition Recovery | Hetman RAID Recovery |
---|---|---|
Типы восстановления | Восстановление потерянных и удаленных разделов, восстановление данных с поврежденных или отформатированных разделов | Восстановление данных с поврежденных RAID-массивов, восстановление RAID-метаданных и восстановление данных после отказа диска в RAID |
Поддержка RAID | Не поддерживает RAID | Поддерживает все уровни RAID (RAID 0, RAID 1, RAID 5, RAID 10 и т.д.) |
Типы файловых систем | FAT/exFAT, NTFS/ReFS, APFS/HFS+, Ext2/3/4/ReiserFS, XFS/UFS/ZFS/Btrfs/VMFS/HikvisionFS | FAT/exFAT, NTFS/ReFS, APFS/HFS+, Ext2/3/4/ReiserFS, XFS/UFS/ZFS/Btrfs/VMFS/HikvisionFS |
Восстановление после форматирования | Да | Да |
Восстановление данных с поврежденных дисков | Да | Да |
Поддержка виртуальных машин | Да | Да |
Предварительный просмотр восстановленных данных | Да | Да |
Поддержка операционных систем | Windows, Linux, macOS | Windows, Linux, macOS |