Алгоритм восстановления данных по файловым «сигнатурам»

Читайте, как работает поиск по сигнатурам в современных программах для восстановления данных. Он позволяет вытащить файлы с отформатированных, поврежденных и недоступных дисков. Поиск по сигнатурам – один из важнейших алгоритмов, делающих современные программы восстановления информации тем, чем они являются: универсальными инструментами, способными вытащить файлы с отформатированных, поврежденных и недоступных дисков.

Алгоритм восстановления данных по файловым «сигнатурам»

Прочитавшие ранее опубликованную статью «Как Windows удаляет файлы и почему их можно восстановить» справедливо зададутся вопросом, как именно функционируют данные программы при повреждении или отсутствии файловой системы. В самом деле, классические инструменты по восстановлению данных работают с информацией о файлах, полученной из файловой системы. Соответственно, если записи о файле в файловой системе не обнаружено, классические инструменты (такие, как команда «undelete» из ранних версий операционных систем) не смогут даже обнаружить удалённую информацию.

Сигнатурный поиск

Поиск по сигнатурам позволяет восстановить файлы после форматирования диска или удаления логических разделов. Для технологии существует множество коммерческих названий. «Power Search», «Content-Aware Analysis», «Smart Scan» – все эти технологии от разных производителей работают по одному и тому же принципу.

Перейти к просмотру
Как восстановить Cr2, Raw, Nef, CRW фотографии после удаления, форматирования, очистки карты 📷⚕️

Как восстановить Cr2, Raw, Nef, CRW фотографии после удаления, форматирования, очистки карты 📷⚕️

Как работает поиск по сигнатурам

Определение файлов

Основной принцип работы алгоритмов сигнатурного поиска такой же, как у самых первых антивирусов. Как антивирус сканирует файл в поисках участков данных, совпадающих с известными фрагментами кода вирусов, так и алгоритмы сигнатурного поиска, использующиеся в программах для восстановления данных, считывают информацию с поверхности диска в надежде встретить знакомые участки данных. Заголовки многих типов файлов содержат характерные последовательности символов. К примеру, файлы в формате *.jpeg содержат последовательность символов «JFIF», *.bmp изображения начинаются с «BM», архивы *.zip начинаются с символов «PK», *.dbf базы данных содержат сигнатуру «OPLDatab», а документы PDF начинаются с символов «%PDF-».

Некоторые файлы (к примеру, текстовые и HTML файлы) не обладают характерными сигнатурами, но могут быть определены по косвенным признакам, т.к. содержат только символы из таблицы ASCII.

Определение размера файла

Для восстановления файла мало найти его начало, нужно также определить его конец. Конец файла можно найти, зная размер и адрес начала файла. Размер файла определяется либо анализом заголовка (*.zip, *.jpeg, *.avi, *.psd, *.pst, *.rar, *.tiff и т.п.), либо считыванием и анализом секторов диска, идущих сразу за заголовком. К примеру, концом текстового или HTML файла алгоритм будет считать первый же сектор, который будет содержать символы, не входящие в таблицу ASCII.

Ограничения

Сигнатурный поиск – не панацея. Перезапись содержимого файла и фрагментирование дисков (особенно – файлов большого размера) оказывают негативное влияние на возможность восстановления информации.

Перейти к просмотру
Дефрагментация дисков в Windows 10: автоматическая дефрагментация, настройка! 🛠️🗄️⏲️

Дефрагментация дисков в Windows 10: автоматическая дефрагментация, настройка! 🛠️🗄️⏲️

Гибридные алгоритмы

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

Michael Miroshnichenko

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

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

Andrey Mareev

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

В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

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

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