Читаем Восстановление данных на 100% полностью

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

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

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

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

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

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

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

<p>Понятие формата файла</p>

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

Перейти на страницу:

Похожие книги

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих

Книга предоставляет полное описание приемов и методов работы с программой "1С:Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, формировать разнообразные отчеты, выводить данные на печать. Материал подан в виде тематических уроков, в которых рассмотрены все основные аспекты деятельности современного предприятия. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов. Все приведенные в книге примеры и рекомендации основаны на реальных фактах и имеют практическое подтверждение.

Алексей Анатольевич Гладкий

Экономика / Программное обеспечение / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии