Как уже было сказано, теоретически можно восстановить хотя бы часть значимой информации из любого поврежденного файла. Все, что для этого нужно, — редактор двоичных данных, документ с развернутыми сведениями о формате, знание программирования и достаточно много времени. Готовых решений здесь не существует, остается сформулировать общие направления.
Попытайтесь проанализировать файл, открыв его в НЕХ-редакторе. Об одной из таких программ — Hexplorer — говорилось в начале главы. Широко известны и другие редакторы, например WinHex (http://www.winhex.com), HEdit (http:// sourceforge.net/projects/hedit) или Free Hex Editor Neo (http://www.hhdsoftware.com). По основным возможностям все эти программы равноценны, а различия могут оценить, главным образом, программисты, которые часто пользуются дополнительными функциями поиска и редактирования.
Возможно, данные удастся восстановить с первой попытки. Если файл содержит несжатый текст, достаточно будет скопировать эти фрагменты и собрать их воедино в текстовом редакторе. Поскольку требуемый результат уже достигнут, то может возникнуть мысль, что восстанавливать больше ничего не надо.
Однако для большинства форматов нужно все-таки восстановить структуру файла, чтобы впоследствии удалось открыть документ в предназначенном для этого приложении. Чем более подробным описанием формата располагает пользователь, тем больше шансов заметить в файле какие-либо неточности. При этом образцом для сравнения может послужить аналогичный по размеру и свойствам неповрежденный файл — откройте рядом второе окно редактора и постарайтесь найти различия. Разумеется, к содержательной части это не относится, а вот разницу в структуре заголовков заметить можно почти всегда.
Дальнейшие действия — процесс творческий. Высчитывая размер или смещение отдельных компонентов файла, можно пытаться подставить эти значения в поля
заголовков. Найти положение полей и их допустимые значения помогут описание структуры или сравнение с другими подобными файлами. Редактор Hexplorer позволяет сохранять промежуточные результаты редактирования, а затем отменять выполненные изменения. Сохраненный файл сразу же можно проверить, открывая его в соответствующем приложении. В случзе неудачи нужно вернуться на несколько шагов назад и попытаться применить другие значения и т. д.
В исключительных случаях срабатывают любые методы: например, удается скопировать заголовок одного файла JPEG и вставить его на место утраченного или испорченного в другой файл. Иногда такие файлы хорошо открываются одним из просмотрщиков. То же самое можно сказать и о некоторых файлах мультимедиа.