Как работает механизм поиска по содержимому (Content-Aware анализ)

При восстановлении удаленных файлов Content-Aware анализ использует алгоритм поиска сигнатур в целях выявления файлов определенных типов. То есть стандартные подписи файлов используется для обнаружения собственно самих файлов, при этом их заголовки анализируются с целью определения длины файлов.

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

Обнаружение JPEG изображений

JPEG файлы легко идентифицируются и легко анализируются. Формат хорошо документирован, поэтому разбор заголовка файла, как правило, проходит без проблем. Давайте посмотрим, например, на типичный файл JPEG.

JPEG файлы имеют характерную сигнатуру и хорошо структурированный формат, благодаря чему их достаточно легко обнаружить. Все файлы JPEG начинаются с производной в значении FFD8 и заканчиваются значением FFD9. В данном типе файлов эти подписи могут использоваться несколько раз, чтобы определить эскизы в различных размерах.

Например, Canon EOS 5D создает JPEG файлы следующей структуры.

FFD8 начало файла FFD8 первый предварительный просмотр эскизов

FFD9 конец первого просмотра

FFD8 второй предварительный просмотр эскизов

FFD9 конец второго просмотра

FFD9 конец файла









Как видите, простого обнаружения фиксированных подписей недостаточно. Программа должна проанализировать заголовок файла, учитывая и фактическую структуру файла. Если информация, хранящаяся в заголовке файла, не совпадает с его фактическим содержанием, полученный восстановленный файл может оказаться поврежденным. Поврежденные изображения могут быть восстановлены с помощью специализированного инструмента, такого как RS File Repair.

Обнаружение текстовых файлов

Формат текстовых файлов – полная противоположность графических форматов. Поскольку текстовые файлы вообще не имеют стойкой структуры, найти их достаточно трудно, зато восстановить – проще простого. Даже фрагментированные текстовые файлы могут быть восстановлены (при условии успешной идентификации) и объединены в один файл, если это необходимо. Никаких сложностей с заголовками файлов или с системными структурами не возникнет.

Иногда несмотря на то, что формальные заголовки файлов не доступны (например, для текста или HTML-файла), эти файлы все же могут быть восстановлены. В случае текстовых документов инструмент восстановления данных анализирует блоки данных, пытаясь выяснить, относятся ли блоки к содержимому текстового файла. Решение принимается на основе анализа набора символов файла. Если определенный блок данных содержит в основном ASCII символы из известного набора символов (например, западноевропейской или Unicode, или арабский и т.д.), блок считается принадлежащим текстовому файлу. Окончание такого текстового файла, как правило, определяется после появления определенного количества не-ASCII символов (двоичные данные).

Обнаружение XML и HTML документов

XML и HTML документы структурированы так же, как и текстовые файлы. Как правило, начинаются они одними, а заканчиваются другими тегами. Пока нет четкого механизма поиска двоичных сигнатур, XML и HTML документы могут быть обнаружены путем поиска отдельных тегов (например, открывающих тегов &lt,html, &lt,body, &lt,?xml, закрывающих тегов: &lt,/body, &lt,/html и т.д.). При этом их поиск должен производиться без учета регистра, чтобы могли быть обнаружены теги, написанные даже таким образом: &lt,Body. Само существование открывающих и закрывающих тегов позволяет точно определять начало и конец таких документов.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
pohozhie-programmy.ru
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: