Вы здесь

Восстановление данных на 100%. Глава 1. Восстановление поврежденных файлов (П. А. Ташков, 2010)

Глава 1

Восстановление поврежденных файлов

• Структура файлов в программе Hexplorer

• Понятие формата файла

• Восстановление файлов собственными средствами прикладных программ

• Программы для восстановления файлов

• Полезные ссылки

• Резюме


В этой главе речь пойдет о восстановлении так называемых битых файлов. Файл может быть поврежден при его некорректном сохранении, особенно если вы пытались открыть, а затем сохранить файл, созданный кем-то в более новой версии прикладной программы. Такие файлы можно извлечь с поврежденного носителя. И хотя скопировать их удастся, при попытке открыть «спасенный» файл вы увидите сообщение об ошибке. После восстановления данных со случайно отформатированного диска среди найденных файлов наверняка окажется немало битых. Наконец, подобные файлы найдутся в результате анализа данных, сохраненных операционной системой при проверке и автоматическом исправлении ошибок жесткого диска, – такие файлы имеют расширение CHK.

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

Напомним, что 1 байт = 8 бит, то есть каждый байт может принимать значения от 0 до 28 = 256 в десятичной (dec) или 28 = FF в шестнадцатеричной (hex) форме записи. Существуют программы, которые позволяют просматривать и изменять содержимое любого файла как простой последовательности байт. Логично называть их байтовыми или двоичными (бинарными) редакторами. Поскольку такие программы обычно показывают значения байтов в шестнадцатеричном виде, за ними закрепилось название «HEX-редакторы».

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

Структура файлов в программе Hexplorer

Программа ICY Hexplorer – простой, но достаточно функциональный бесплатный редактор двоичных данных. Дистрибутив ее доступен на сайте разработчиков http://hexplorer.sourceforge.net.

Рабочая область окна разделена по вертикали. После открытия файла в левой части рабочей области отображается содержимое файла по байтам в виде их шестнадцатеричных значений (рис. 1.1). В правой части окна те же самые байты интерпретируются как ASCII-значения текстовых символов.

Рис. 1.1. Окно программы Hexplorer – открыт текстовый файл


При этом выделенный фрагмент одновременно подсвечивается в обеих половинах окна. Легко заметить, что означает каждый байт файла, если считать, что им закодирован какой-либо текстовый символ. При рассмотрении текстовых файлов такая интерпретация совершенно справедлива. Команды меню View (Вид) и Structures (Структуры) позволяют интерпретировать содержимое файла иначе, например как точечный рисунок, и просмотреть его в дочернем окне.

Понятие формата файла

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

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

В качестве примера откроем в HEX-редакторе файл рисунка в формате BMP (рис. 1.2). В самом начале файла дана последовательность 42 4D – в текстовой интерпретации это буквы BM. Затем следует довольно длинная последовательность байтов, в которой преобладают нулевые значения, а уже за ней начинается массив самых разных значений, который продолжается до самого конца файла.

Рис. 1.2. Окно программы Hexplorer – открыт файл рисунка в формате BMP


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

Примечание

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

В статье говорится, что BMP-файл действительно состоит из четырех частей:

• заголовок файла (BITMAPFILEHEADER). Первое поле заголовка (первые два байта) является сигнатурой – указанием на тип файла;

• заголовок изображения (BITMAPINFOHEADER) – необязательный компонент, он может отсутствовать;

• палитра, которая также может отсутствовать;

• само изображение – каждый байт описывает одну точку рисунка.

Здесь необходимо сделать важный вывод. Очевидно, что искажение или утрата данных, относящихся к первым трем частям, может привести к тому, что файл перестанет открываться предназначенной для этого программой, хотя вся значимая информация в нем осталась цела. В этом случае появится сообщение «Файл имеет неправильный формат или поврежден». Наоборот, утрата или искажение данных самого изображения никак не повлияет на открытие файла, но в открывшемся рисунке выпадут или будут искажены отдельные фрагменты.

В качестве эксперимента можно сделать несколько копий файла, намеренно испортить каждую из них в разных местах с помощью HEX-редактора, а затем сохранить. Открывая эти файлы стандартным средством просмотра Windows или программой Paint, пользователь убедится в справедливости сделанного ранее вывода.

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

• В начале файла всегда находится его заголовок (header). Сам заголовок тоже обладает внутренней структурой.

– Заголовок начинается сигнатурой, или «магическим числом». Это фрагмент кода, который однозначно дает понять, что это за файл или какой программой он создан. Например, EXE-файл всегда начинается с символов MZ, архив RAR содержит в своем коде сигнатуру RAR.

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

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

• В некоторых файлах могут присутствовать вспомогательные компоненты: палитра, кодовая таблица, внедренные данные шрифтов, макросов и т. д. В отдельных форматах, наподобие документов Microsoft Office или CorelDRAW, такие данные могут занимать больше места, чем все остальное. Достаточно посмотреть, каков размер «пустого» документа Microsoft Word 2003!

• Собственно уникальные данные документа. Иногда в сложных документах эти данные организованы в виде цепочек, или порций (chunks). В таком случае где-то в заголовках дается ссылка на начало и размер каждой порции.

• Указатель конца файла или контрольная сумма (check sum) подтверждают целостность файла. Они присутствуют далеко не во всех форматах.

Очевидно, любой поврежденный файл можно восстановить или хотя бы извлечь полезную информацию, открыв и отредактировав такой файл HEX-редактором. Если испорчена информация о формате, ее (теоретически) можно воссоздать, а затем открыть файл «штатным» приложением. Если повреждена область самих данных, из файла можно извлечь только то, что осталось.

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

Восстановление файлов собственными средствами прикладных программ

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

Внимание!

Перед любыми попытками восстановления битого файла необходимо сделать несколько его копий. Не стоит экспериментировать с единственным исходным экземпляром!

Восстановление документов средствами Microsoft Word

В программе Microsoft Word предусмотрена функция открытия документов с восстановлением. Кроме того, в полный состав пакета Microsoft Office входит конвертер восстановления текста. По умолчанию он не устанавливается.

Заметим, что есть еще и третья функция, связанная с использованием автосохранения документов Word в процессе работы приложения. Она скорее относится к области резервного копирования: копии документа периодически сохраняются в той же папке, что и открытый документ, либо в папке \Application Data\ Microsoft\Word в профиле пользователя. Если приложение Microsoft Word аварийно завершило работу до корректного сохранения документа пользователем, при очередном его открытии вы увидите панель Восстановление документов, на которой показаны существующие резервные копии файла. Скорее всего, при восстановлении действительно битых файлов эта функция не сработает.

Для установки конвертера восстановления текста необходимо повторно запустить программу установки Microsoft Office.

1. В начальном окне установки выберите пункт Добавить или удалить компоненты. Нажмите кнопку Далее.

2. В окне Выборочная установка установите флажок Расширенная настройка приложений и нажмите кнопку Далее. Появится окно Расширенная настройка.

3. Компонент Конвертер восстановления текста находится в группе Общие средства Office → Конвертеры и фильтры → Конвертеры текстовых файлов. Нажмите стрелку рядом с этим компонентом и выберите пункт Запускать с моего компьютера.

4. Следуя указаниям мастера, завершите установку выбранных компонентов.

5. После этого запустите программу Word. Зайдите в окно настроек (меню Сервис → Параметры) и на вкладке Общие установите флажок Подтверждать преобразование при открытии. Сохраните настройки.

Теперь есть два пути. Для начала воспользуйтесь встроенной функцией восстановления документа.

1. В меню Файл выберите команду Открыть. Появится окно Открытие документа.

2. Выберите в нем файл для восстановления.

3. Нажмите на стрелку рядом с кнопкой Открыть и выберите команду Открыть и восстановить (рис. 1.3).

Рис. 1.3. Открытие документа с восстановлением


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

1. В окне Открытие документа в раскрывающемся списке Тип файла выберите параметр Восстановление текста из любого файла.

2. Откройте нужный файл. В процессе открытия может появиться дополнительное окно Преобразование файла (рис. 1.4).

Рис. 1.4. Окно Преобразование файла


3. Выберите в этом окне вариант Восстановление текста из любого файла и нажмите кнопку OK.

При таком восстановлении будет утеряно исходное форматирование документа – вместо него получится чистый текст (plain text). Тем не менее и эта функция срабатывает далеко не всегда. В таком случае следует восстановить документ специальными программами от сторонних разработчиков.

Восстановление архивов в программе WinRAR

В популярном архиваторе WinRAR (http://www.rarlab.com) заложена функция восстановления поврежденных архивов. Эта программа может восстанавливать архивы форматов RAR и ZIP. Тип архива WinRAR пытается определить автоматически по сигнатуре файла и по его расширению, но пользователь может указать тип архива и самостоятельно.

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

Рис. 1.5. Создание архива и добавление информации для восстановления


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

Восстановление архива происходит в два этапа. Сначала в архиве находится блок информации для восстановления. Если такой блок в архиве присутствует, поврежденная часть данных невелика по размеру и непрерывна, то шансы на успешное восстановление велики. В результате архиватор создает новый файл с именем fixed.arcname.rar, где arcname – имя исходного поврежденного архива.

Если в испорченном архиве нет информации для восстановления или повреждение очень серьезное, то делается попытка восстановления по другому алгоритму. Реконструируется лишь структура архива. Создается новый архив с именем rebuilt. arcname.rar, где arcname – имя исходного архива. Из этого восстановленного архива удается извлечь неповрежденные файлы. Из простых архивов успешно извлекаются все уцелевшие данные. Из непрерывного (solid) архива обычно удается восстановить только файлы, располагавшиеся в начале архива до места повреждения.

Когда в процессе обычного открытия архива программа WinRAR обнаруживает в нем ошибки, выводится окно с диагностическими сообщениями (рис. 1.6). По содержанию этих сообщений уже можно судить о характере и степени повреждения файла.

Рис. 1.6. Диагностические сообщения программы WinRAR


Для восстановления выделите архив в окне программы WinRAR и нажмите кнопку Исправить или выберите команду меню Операции → Восстановить архив(ы). Последующие диалоги зависят от характера повреждений и сохранности отдельных компонентов файла.

В частности, при повреждении заголовка потребуется указать, каков формат исходного архива: RAR или ZIP, а также является ли архив непрерывным. В ходе операции восстановления программа может спросить у пользователя, нужно ли считать файлом найденный в архиве элемент: Подозрительный элемент возможное имя файла>. Добавить в архив: Да/Нет/Все. Ответьте Да, чтобы добавить этот элемент в fixed.arcname.rar.

Для устранения неисправностей архивов RAR программа WinRAR представляется оптимальным и основным средством. Для архивов ZIP она также дает неплохие результаты, но здесь конкуренцию составляют многочисленные специализированные программы.

Восстановление баз 1С: Предприятие

Базы данных, с которыми работают программы семейства 1С: Предприятие, состоят из множества отдельных файлов. Часть из них несет сведения о конфигурации, а другие (файлы с расширением DBF) являются изменяемыми файлами базы данных. Если ошибка затронула только конфигурационные файлы, проще всего не восстанавливать базу, а просто переписать эти файлы из дистрибутива конфигурации или любой резервной копии.

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

Разумеется, перед любыми попытками восстановления следует создать резервную копию базы данных. Лучше всего сделать это простым копированием папки с базой в другой каталог.

1. Откройте программу 1С в режиме конфигуратора.

2. Запустите проверку открытой базы (меню Администрирование → Тестирование и исправление).

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

4. После восстановления откройте базу в монопольном режиме и проверьте корректность записей и итогов. Вполне возможно, что какие-то записи придется исправить или добавить вручную.

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

Программы для восстановления файлов

Специализированные программы созданы для восстановления файлов почти любого известного формата. По числу программ на первом месте, безусловно, оказываются документы Microsoft Office. Простой поиск в Интернете выдает около трех десятков названий утилит для восстановления документов Word или таблиц Excel.

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

В отношении программ восстановления действует то же правило, что и в отношении антивирусов: чем больше приложений будет использовано в данном конкретном случае, тем выше шансы на успех. Однако, если одна из программ однажды помогла там, где другие были бессильны, это вовсе не означает, что она лучше остальных восстановит и любой другой битый файл. К счастью, почти все подобные программы доступны в условно-бесплатных (trial или shareware) и демоверсиях. Ограничение обычно касается сохранения восстановленных данных либо максимально допустимого объема восстанавливаемой информации.

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

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

Для тех, кто занимается восстановлением информации профессионально, оправдан и иной подход. Например, пакет Office recovery – почти универсальное и эффективное средство. Лицензия окупится довольно быстро, ведь восстановление данных – всегда востребованная и неплохо оплачиваемая услуга.

Далее будут рассмотрены несколько программ. Выбор их почти случаен, так как одна из главных задач книги – показать программы разного класса и подходы к работе с такими программами. Если первая программа – «автомат» для начинающего пользователя, вторая – «полуавтомат» с возможностью ручной доводки результата, то третья – любительская разработка, требующая определенных навыков от того, кто ей пользуется.

Пакет Office recovery

Компания Recoveronix Ltd. предлагает более 30 утилит для автоматического восстановления файлов большинства распространенных форматов. С официального сайта компании (http://www.officerecovery.com/office/) можно скачать как отдельные приложения, так и их пакет под общим названием Office recovery. Чтобы дать представление о возможностях пакета, далее перечислены некоторые входящие в него программы.

• Recovery for Word, Recovery for Excel, Recovery for Outlook Express, Recovery for Outlook, Recovery for PowerPoint, Recovery for Publisher, Recovery for Access – восстановление документов Microsoft Office.

• PDFRecovery, PhotoshopRecovery – восстановление документов Adobe.

• PixRecovery – восстановление графических файлов BMP, GIF, TIFF, JPEG.

• ZipRecovery – восстановление архивов ZIP.

• В состав пакета включены средства восстановления документов Microsoft Works, WordPerfect, многих форматов баз данных.

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

• MediaHeal for CD and DVD, MediaHeal for Diskettes, MediaHeal for Flash, MediaHeal for Hard Drives, MediaHeal for Removable Disks – средства восстановления данных с различных носителей.

• FreeUndelete – утилита для восстановления случайно удаленных данных.

При установке пакета предлагается выбрать необходимые приложения. Каждое из них устанавливается в отдельную папку и является вполне самостоятельным. Все окна приложений построены по одному образцу. Интеграция заключается в наличии в окне каждого приложения пункта меню Toolbox (Инструменты), под которым раскрывается большой список остальных приложений.

Самое востребованное из приложений – Recovery for Word. Все остальные составляющие пакета построены точно по такому же принципу и рассчитаны на пользователя с минимальной подготовкой. В качестве опытного образца можно рассмотреть файл, из которого HEX-редактором вырезаны фрагменты кода и/или на их место записан «мусор» – случайные значения. Это очень напоминает повреждения файлов в результате сбоев записи или считывания их с неисправного носителя.

1. Запустите программу и нажмите в ее главном окне кнопку Recover (Восстановить). Появится стандартное окно открытия файла.

2. Выберите файл, который нужно исправить, и нажмите в этом окне кнопку Recover (Восстановить). Начнется процесс восстановления файла. Комментарии выполняемых операций появляются в главном окне, а вскоре в окне Save the Recovered File (Сохранить восстановленный файл) будет предложено указать имя файла (рис. 1.7). По умолчанию для сохранения результата восстановления предлагается имя исходного файла с приставкой Recovered.

Рис. 1.7. Recovery for Word


Восстановленный файл можно открыть через Проводник Windows и убедиться в результатах. Демоверсия программы заменяет часть восстановленного текста словами demo demo demo. В остальном программа абсолютно функциональна. Она восстанавливает текст документа, включая использованное форматирование, стили, таблицы, рисунки и другие внедренные объекты.

Набор программ от компании Recoveronix Ltd. в отношении восстановления документов Microsoft Office опережает аналогичные утилиты других разработчиков и по количеству восстанавливаемых файлов, и по полноте восстановления данных внутри каждого документа. Основной недостаток пакета – его цена. Лицензия на один компонент Recovery for Word 3.1 стоит около $150, а цена пакета из 14 приложений составляет около $350.

Программа JPEG Recovery Pro

Если приложения пакета от Recoveronix работают почти в автоматическом режиме, то программа JPEG Recovery Pro сочетает в себе функции автоматического восстановления формата файлов JPEG с возможностью редактирования восстановленных данных. Дистрибутив программы JPEG Recovery Pro доступен на сайте разработчика http://www.hketech.com.

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

1. Запустите программу и вызовите окно ее настроек командой меню File → Options (Файл → Настройки). На первой вкладке задается список типов файлов, которые программа будет искать (рис. 1.8). На второй вкладке, Other options (Другие настройки), можно задать максимальное число файлов (Max. no. of physical files) и количество файлов в начале сканирования, которое следует пропустить (Skip first n physical files). Обе эти настройки могут быть полезны при восстановлении файлов непосредственно с носителей цифровых фотоаппаратов. На картах памяти может оказаться множество фрагментов от ранее удаленных изображений, и ограничения помогут избежать просмотра лишнего материала.

Рис. 1.8. Выбор типов файлов


2. Сохраните настройки.

3. Задайте в поле Folder (Папка) путь, по которому программа будет искать изображения, а в поле Output Folder (Папка для вывода) путь, по которому должны сохраняться восстанавливаемые файлы.

4. Нажмите кнопку Scan (Сканировать). В рабочей области появятся уменьшенные изображения найденных рисунков (рис. 1.9).

Рис. 1.9. Результат поиска изображений


5. Установите флажки рядом с теми изображениями, которые требуется восстановить и сохранить. Нажмите кнопку Recover (Восстановить). Файлы будут сохранены.

6. Если в главном окне программы видно, что изображение повреждено, как, например, средний рисунок в описываемом примере, попробуйте исправить его иначе. Дважды щелкните кнопкой мыши на искаженном рисунку. Появится окно, предлагающее попытаться исправить изображение автоматически (рис. 1.10).

Рис. 1.10. Запрос попытки автоматического исправления


7. Чтобы предпринять такую попытку, нажмите кнопку Yes (Да). В изображение будут внесены изменения на усмотрение программы, а затем оно откроется в окне встроенного редактора JPEG Recovery Pro Editor (рис. 1.11). Если нажать в окне кнопку No (Нет), никаких поправок вноситься не будет и изображение откроется в редакторе в исходном виде.

Рис. 1.11. JPEG Recovery Pro Editor


Как видно на примере (в середине файла 256 байтов информации об изображении были заменены псевдослучайным набором чисел), до автоматического восстановления картинка была «обрезана» с места повреждения. После автоматического восстановления изображение проявилось до конца, но в одном месте стала видна бледная полоска – это и есть тот самый «мусор», привнесенный в рисунок в целях порчи. Еще одна типичная проблема формата JPEG – сдвиг или инверсия цветов части изображения после утраты или изменения фрагмента данных. Такая проблема тоже удачно устраняется автоматическим исправлением в рассматриваемой программе.

У редактора JPEG Recovery Pro Editor есть две основные функции: удаление всех пикселов от одной заданной точки до другой и вставка/удаление заданного числа пикселов или рядов, считая от заданной точки. Такие операции подходят для удаления случайно добавленного «мусора» или, наоборот, для устранения сдвига пикселов в результате потери фрагмента данных. Осваивать эти приемы лучше чисто практически. Редактор поддерживает откат и возврат (Undo/Redo) производимых действий, поэтому наилучший способ коррекции можно подбирать многократно. При этом нельзя забывайть, что после сохранения восстановленного файла его всегда можно дополнительно обработать в любом графическом редакторе, например Adobe Photoshop, и окончательно вернуть рисунку нормальный вид.

Программа CDRfind

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

Вместе с тем утилит для восстановления файлов CDR создано очень мало. Данная программа – набор полезных инструментов для работы с файлами CorelDRAW. В том числе эта программа может восстанавливать сбойные файлы CDR. Автор программы, Михаил Кондаков, предлагает загрузить ее со своего сайта (http://mbkhome.narod.ru/). Главное окно программы предельно просто (рис. 1.12).

Рис. 1.12. Программа CDRfind


Чтобы просмотреть содержимое файла CDR, нажмите кнопку File Info (Информация о файле) и в открывшемся стандартном окне выберите файл, который нужно открыть. Появятся два окна программы Блокнот: в первом (info. log) показаны сведения о файле, содержащихся в нем шрифтах (Fonts used), и весь текст, который можно извлечь из этого файла (Document text). Во втором окне (map.log) показана структура файла в виде перечня содержащихся в нем полей (рис. 1.13).

Рис. 1.13. Анализ содержимого файла


Другая полезная функция программы – поиск документа CDR на диске по заданному критерию. Такими критериями могут быть содержащийся в файле текст либо размеры графических объектов внутри файла. Эта функция запускается нажатием кнопки Search File (Найти файл). Интересна функция восстановления битого файла.

1. Нажмите кнопку Edit/Restore File (Редактировать/восстановить файл). Откроется окно Edit file (Редактировать файл).

2. Нажмите в этом окне кнопку Open file (Открыть файл) и в стандартном окне Windows выберите сбойный файл CDR, который будет открыт. Структура открывшегося файла отобразится в рабочей области диалога (рис. 1.14).

Рис. 1.14. Окно Edit file (Открыть файл)


После этого можно попробовать вновь сохранить файл, нажав кнопку Save file (Сохранить файл) и указав имя нового файла. Из исходного файла будут удалены сбойные поля, а сам он будет сохранен в неупакованном виде. После этого попытайтесь открыть получившийся документ в программе CorelDRAW. При открытии, скорее всего, будут выводиться многочисленные сообщения об ошибках. Их следует игнорировать, и в конце концов файл все-таки откроется. После этого можно скопировать нужное содержимое в новый файл, созданный в программе CorelDRAW.

Если проблемный участок приходится на растровую картинку, внедренную в файл, то можно попробовать извлечь из файла только его векторную часть. Для этого существует режим Extract vector (Извлечь векторную часть). Нажав эту кнопку и выбрав исходный и результирующий файлы, можно получить файл, содержащий только векторную часть исходного. При открытии такого файла программа CorelDRAW тоже будет выдавать сообщения об ошибках. Их снова нужно проигнорировать и, открыв, сохранить файл (Save as) заново или скопировать объекты из него в новый документ.

Восстановление файлов в HEX-редакторе

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

Попытайтесь проанализировать файл, открыв его в HEX-редакторе. Об одной из таких программ – Hexplorer – говорилось в начале главы. Широко известны и другие редакторы, например WinHex (http://www.winhex.com), HEdit или Free Hex Editor Neo (http://www.hhdsoftware.com). По основным возможностям все эти программы равноценны, а отличия могут оценить, главным образом, программисты, которые часто пользуются дополнительными функциями поиска и редактирования.

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

Для большинства форматов нужно все-таки восстановить структуру файла, чтобы впоследствии удалось открыть документ в предназначенном для этого приложении. Чем более подробным описанием формата располагает пользователь, тем больше шансов заметить в файле какие-либо неточности. При этом образцом для сравнения может послужить аналогичный по размеру и свойствам неповрежденный файл: откройте рядом второе окно редактора и постарайтесь найти отличия. Разумеется, к содержательной части это не относится, а вот разницу в структуре заголовков заметить можно почти всегда.

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

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

Полезные ссылки

В завершение главы будет рассмотрен далеко не полный список инструментов, восстанавливающих данные из поврежденных файлов. Это лишь направление поиска: и очередные версии известных программ, и совершенно новые утилиты выходят регулярно. Лучший способ найти и подобрать программу, способную решить конкретную проблему, – обратиться к любой поисковой системе Интернета, а потом пытаться что-либо предпринять.

Восстановление документов Microsoft Office:

• Quick Recovery for Microsoft Word, Quick Recovery for Microsoft Excel, Quick Recovery for Microsoft PowerPoint (http://www.recoveryourdata.com);

• R-Word Recovery, R-Excel Recovery (http://www.r-tt.com);

• Nucleus Kernel Word Document (http://www.wordfilerecovery.com, http://www.nucleustechnologies.com);

• Excel File Repair (http://www.excelfilerepair.com).

Все эти программы довольно похожи по своим возможностям и эффективности работы. Если из-за повреждения структуры файла невозможно восстановить форматирование документа или таблицы, извлекается только текст. Кроме собственно восстановления битых файлов, они способны находить на диске ранее удаленные документы, отыскивая их по сигнатурам.


Восстановление баз почтовых программ:

• DiskInternals Outlook Express Repair (http://diskinternals.com);

• SoftAmbulance 4 Outlook Express (http://softambulance.com);

• R-Mail for Outlook Express (http://www.outlook-mail-recovery.com);

• Nucleus Kernel Outlook Express (http://www.nucleustechnologies.com).

Программы предназначены для восстановления случайно удаленных электронных писем, а также для восстановления поврежденных DBX файлов, в которых почтовый клиент Microsoft Outlook Express хранит свою базу данных. Отдельные электронные письма восстанавливаются в виде файлов с расширением EML, которые могут быть легко импортированы в Microsoft Outlook Express.

• Zmeil (http://www.z-a-recovery.com). Программа может извлекать сообщения из почтовых баз большинства распространенных email-клиентов, включая Outlook Express, TheBat! Eudora, Thunderbird. Восстановленные сообщения сохраняются в файлы EML или в формате UNIX mailbox. Потом их можно импортировать в любой почтовый клиент.


Восстановление баз данных:

• Quick Recovery for Database (http://www.recoveryourdata.com). Эта и следующая программы работают с поврежденными файлами Microsoft Access 95-2003, а также со всеми версиями файлов DBF (dBASE, FoxBase, FoxPro, Visual FoxPro). Возможно восстановление случайно удаленных записей внутри файла базы данных;

• DBF Doctor (http://www.repair-database.com);

• Windbfview (http://www.gendalf.ru). Одна из программ, рекомендованных для ручного восстановления баз программ семейства 1С. Автоматическое восстановление поврежденного заголовка DBF файла, выбор кодировки для просмотра. Просмотр и редактирование полей типа строка, число, дата и логических полей. Сохранение всех или только отображаемых данных в другой файл в формате DBF или в текстовом формате.


Восстановление архивов:

• Advanced Zip Repair, Advanced TAR Repair, Advanced CAB Repair, Advanced RAR Repair (http://www.repairfile.com, http://www.datanumen.com). Назначение утилит ясно из их названий. Эта же компания выпускает полный спектр программ восстановления файлов, а также тематические пакеты, например Advanced Archive Repair;

• ZipCentral (http://zipcentral.iscool.net). Довольно старая, но очень удобная программа – менеджер архивов. Среди ее функций есть восстановление архивов ZIP.


Восстановление графических файлов:

• Zero Assumption Recovery (http://www.z-a-recovery.com). Программа восстанавливает случайно удаленные, а также поврежденные файлы многих графических форматов. Работает как с файлами, сохраненными на жесткий диск, так и непосредственно с различными цифровыми носителями;

• Photo Nose Image Recovery Software (http://www.acutetools.com/photonose). Типичная программа подобного рода: она и извлекает удаленные файлы с различных носителей, и автоматически восстанавливает поврежденные файлы изображений.


Восстановление файлов мультимедиа:

• iPod Recovery Utility (http://www.datadoctor.co.in);

• Recover iPod Songs (http://www.datadoctor.co.in).

Две программы одного и того же разработчика, которые восстанавливают как случайно удаленные данные на плеерах iPod, так и файлы распространенных форматов: 3GP, AAC, MPG, MPEG, MP3, M4A, M4B, M4P, M4V, MP4, WAV, AIF, JPEG, GIF. Очевидно, задача восстановления подобных файлов не так велика – обычно их проще найти в Интернете и заново скачать, чем восстанавливать.

Резюме

Перед тем как восстанавливать битые файлы, посмотрите внимательно, нет ли где-то их резервных копий. Это действие поможет сэкономить немало времени и сил. Очевидно, восстанавливать нужно лишь уникальные документы, так как найти первоисточник, из которого были скопированы файлы, почти всегда легче и даже быстрее. Почту всегда можно попросить отправить повторно.

Если поврежденные документы или другие файлы действительно уникальны, сразу сделайте несколько копий. Каждая копия нужна для новой попытки – проверять один и тот же файл последовательно несколькими программами не стоит.

Восстановление данных средствами той же программы, которой создан файл, – самый простой и быстрый выход из ситуации. В отношении архивов RAR это, пожалуй, и самый эффективный способ.

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

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