Двоичные, или HEX-редакторы.

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

В большинстве HEX-редакторов предусмотрен режим просмотра и редактирования непосредственно секторов на дисках, т. е. одновременно они являются и дисковыми редакторами. В таком режиме характерные структуры дисков (MBR, FAT, MFT и т. п.) обычно подсвечиваются. Специализированные дисковые редакторы входят и в состав многих утилит для восстановления данных.

ПРИМЕЧАНИЕ

Для работы с секторами дисков программы нужно запускать от имени администратора. В Windows 7 щелкните на ярлыке или исполняемом файле редактора правой кнопкой мыши и в контекстном меню выберите команду Запуск от имени администратора.

Редактор Hexplorer

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

Целесообразно сразу же настроить редактор. Вызовите диалоговое окно настроек командой меню View | Options (Вид | Опции). Установите флажок Show offsets (Показывать смещение). Нажмите кнопку OK. Теперь в окне программы в самой левой колонке будут отображаться значения смещения первого байта каждой строки.

ПРИМЕЧАНИЕ

Не-программистов слово «смещение» (offset) обычно смущает! На самом деле, это всего лишь порядковый номер байта, считая от начала файла, диска или другой последовательности. В другом смысле смещением называют «расстояние» в байтах между какими то элементами последовательности.

Чтобы подчеркнуть, что числа записаны в шестнадцатерично-десятичной (hexadecimal) системе счисления, в конце каждого числа часто пишут букву h. Например, выражения 1BE, 0x01BE, 000001BE, 1BEh или 0x1BEh означают одно и то же: байт, стоящий на 446й позиции от начала последовательности. При этом учтите, что обычно начало — не первая (0x001), а нулевая (0x000) позиция!

Чтобы открыть в Hexplorer файл, выберите команду меню File | Open (Файл | Открыть) или нажмите кнопку Open (Открыть) на панели инструментов. Рабочая область окна разделена по вертикали на колонки. После открытия файла в одной колонке отображается его содержимое как последовательность байтов в шестнадцатеричном виде. В следующей колонке те же самые байты интерпретируются как ASCII-значения текстовых символов.

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

Чтобы открыть в Hexplorer диск как последовательность байтов, щелкните на пункте меню Disk (Диск). Выберите диск, содержимое секторов которого вы хотите просмотреть или отредактировать.

Откроется диалоговое окно, в котором нужно задать номер начального сектора (Starting sector) и число секторов, которое должно быть прочитано (Sectors to read). Поскольку нас интересует самое начало диска, прочитаем, например, первые 16 секторов, начиная с нулевого.

Заметим, что программа Hexplorer работает только с разделами и логическими дисками. Поэтому, выбрав букву диска и указав в качестве начального сектора 0, мы увидим в окне не нулевой сектор физического диска, а начальный сектор выбранного раздела или логического диска.