Восстановление файлов в HEX-редакторе. HxD для редактирования файлов в шестнадцатеричном коде Восстановление файлов собственными средствами прикладных программ

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

Возьмём флеш-накопитель и отформатируем его.

Рис.1 Форматирование флеш-накопителя.

Затем запишем на него текстовый документ размером 20 Кб, который содержит повторяющуюся текстовую строку «Test file».

Загрузочный сектор

После этого удалим тестовый объект и запустим Hetman Partition Recovery. Откроем с помощью HEX-редактора флешку, отформатированную в FAT32, и начнем анализ с зарезервированной области.

Рис.2 Загрузочный сектор диска FAT.

На рисунке выше выделены поля, которые нас интересуют:

  • Первое выделенное поле показывает, что размер сектора диска составляет 512 байт;
  • Следующий фрагмент показывает, что размер кластера равен 8192 байтам;
  • Далее мы видим, что размер зарезервированной области составляет 1160192 байта;
  • Следующее поле показывает, что на диске есть две копии FAT ;
  • Далее указано, что размер каждой копии FAT составляет 7808512;
  • Следующий фрагмент указывает на то, что корневой каталог находится во 2 кластере относительно области данных (16793600 байт).

Усвоив эту информацию, мы можем представить расположение основных структур диска FAT.

Смещение Размер Описание 01160192Зарезервированная область диска11601927808512Первая копия FAT-таблицы89687047808512Вторая копия FAT-таблицы16777216Начало области данных16793600Начало корневого каталога

Корневой каталог

Давайте рассмотрим корневой каталог. Мы видим ряд записей, одна из которых наш тестовый Test.txt . Первый байт записи равен 0xE5 , так как он удален. Во время удаления драйвер создает дополнительную запись в корневом каталоге диска, предшествующую основной. Эта запись также создается с первым байтом равным 0xE5 . Она предназначена для сохранения имени удаляемого объекта. Давайте попробуем вернуть наше удаленное содержимое.

Рис.3 Корневой каталог диска FAT.

На рисунке выше первой идет дополнительная запись:

  • 0xE5 ;
  • Следующее отмеченное поле содержит имя - Test.txt .
  • Первое выделенное поле содержит сигнатуру 0xE5 , которая указывает на то, что документ удален;
  • Далее содержится адрес кластера (относительно области данных) с содержимым (16818176 байт);
  • Далее указан размер 19584 байт.

Определив начальный кластер и размер, мы должны обратиться к области FAT, чтобы составить цепочку занимаемых им кластеров на диске. Но проблема в том, что цепочка не сохранилась. При удалении все кластеры, которые занимала цепочка, были помечены как свободные. Вот почему все, что у нас есть, это начальный кластер и размер.

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

Содержимое файла

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

Рис.4 Содержимое файла.

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

В книге изложены методы восстановления данных с различных носителей информации – жестких дисков, массивов RAID, CD, DVD, карт флэш-памяти, карт фотоаппаратов и мобильных телефонов. Ремонт поврежденного оборудования рассматривается в издании только как один из аспектов всего процесса извлечения данных. Основная тема – извлечение данных, поврежденных из-за физических или логических нарушений в работе компьютерной системы либо неверных действий пользователя. В книге рассматривается восстановление случайно удаленных файлов, извлечение ценной информации с поломанных жестких дисков; описываются программы и методика восстановления данных с поврежденных массивов RAID, что критически важно для работы корпоративных компьютерных систем.

Книга не требует специальной подготовки читателя: простые пошаговые процедуры восстановления данных предваряются описанием принципов их хранения на различных носителях.

Книга:

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

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

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

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

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

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

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

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

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

Примечание : Как факт, но в свое время для правки стандартных инсталляторов asp.net 1.1 приходилось корректировать двоичный код. К примеру, для того, чтобы сделать один из элементов управления полем для ввода пароля.

В данном обзоре собраны одни из лучших бесплатных hex-редакторов под разные потребности.

Обзор бесплатных шестнадцатеричных редакторов

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

HxD отличный шестнадцатеричный hex-редактор

Одной из лучших утилит для редактирования двоичного кода является . Во-первых, программа портативная и не нуждается в установке, что особенно важно, при частой необходимости в правке исполняемых файлов. Во-вторых, она имеет приятный интерфейс. В-третьих, HxD обрабатывает большие файлы без задержек и "замираний экрана". Кроме того, добавьте к этому возможности неограниченной истории правок, быстрого поиска и замены, сравнение бинарных файлов, полную поддержку ANSI, DOS/IBM-ASCII и EBCDIC. И еще десяток возможностей, некоторые из которых будут перечислены ниже. HxD также позволяет редактировать не только диск, но и оперативную память. Как факт, но такой набор возможностей делает программу опасной игрушкой в руках начинающих пользователей. Кроме того, приложения безопасности могут так же реагировать на его действия, но опытные пользователи понимают, что это происходит из-за специфики обращения к данным и использования потенциально опасных функций.

В целом, HxD отлично подойдет тем, кто часто имеет дело с различным двоичным кодом.

Другие возможности и характеристики:

  • Безопасный доступ к файлам, которые используют другие программы
  • Генератор контрольных сумм: Checksum, CRCs, Custom CRC, SHA-1, SHA-512, MD5, ...
  • Экспорт данных в различные форматы
  • Вставка шаблонов кодов
  • Возможность безопасного удаления файлов.
  • Разделение или объединение файлов
  • Различные виды группировок в столбцах (1,2,4,8,16 байт)
  • Подсветка измененных данных
  • Быстрый переход к адресу
  • Поддержка копирования данных буфера обмена из других программ: Visual Studio/Visual C++, WinHex, HexWorkshop, ...
  • Закладки
  • И многое другое...

Hex-редактор Hexplorer аналог HxD с возможностью просмотра изображений, при анализе стеганографии

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

В целом, Hexplorer подойдет не только тем, кто часто редактирует бинарный код, но и тем, кто использует нестандартные способы использовать двоичный код.

Основные возможности и характеристики:

  • Шесть цветовых схем интерфейса под различные задачи.
  • Неограниченная история команд
  • x86 дизассемблер
  • Импорт и экспорт в 20 различных форматов двоичных файлов, включая Intel Hex, Motorola S-Record, стандарт Atmel и т.д.
  • Возможность найти повторяющиеся закономерности в данных
  • Просмотр изображений
  • Фильтрация текста из двоичных данных
  • Поисковой алгоритм Бойера-Мура
  • Быстрая навигация по адресам
  • Позволяет создавать структуры простых типов данных, например, целых чисел или чисел с плавающей точкой
  • Генератор псевдослучайных чисел
  • Позволяет записывать макросы (сценарии) для автоматизации задач

Другие hex-редакторы

Существуют и другие hex-редакторы, которые так же заслуживают внимания и могут пригодится.

Шестнадцатеричный редактор XVI32 простой и удобный

XVI32 - это бесплатный шестнадцатеричный редактор, название которого произошло от римской цифры XVI (16).

  • Поддерживает скрипты для автоматизации задач.
  • Поиск по шаблону
  • ASCII/ANSI
  • Конвертация символов на основе пользовательских определений
  • Запись отдельных блоков в файл
  • И другие возможности...
  • Хранит открытый файл в памяти, так что с большими файлами будут проблемы.
  • Как таковой, нет истории команд. Это означает, что все вносимые изменения вносятся "как есть" и вам придется их записывать или запоминать

Поддерживает Windows 9x/NT/2000/XP/Vista/7

Hex-редактор HexEdit со специализированным калькулятором

HexEdit еще один бесплатный двоичный редактор от MiTeC.

  • Не нужно устанавливать (портативная)
  • Редактор оперативной памяти и диска
  • Специализированный калькулятор
  • Умеет сравнивать файлы
  • Может сбрасывать данные из оперативной памяти на диск (создавать дамп)
  • И другие...
  • Хранит открытые файлы в памяти

Поддерживает Windows 2000 - Windows 7

Cygnus Free простой hex-редактор

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

  • Быстрая и простая в использовании
  • Быстрый поиск и замены
  • Drag & drop
  • И другие возможности...
  • Хранит в оперативной памяти открытый файл со всеми вытекающими проблемами
  • Технической поддержки у бесплатной версии нет
  • Обрезана по функциональности

Поддерживает Windows

Руководство по быстрому выбору (ссылки на скачивание бесплатных шестнадцатеричных hex-редакторов)

HxD

Поддержка множества языков, включая русский. Редактор диска и оперативной памяти. Быстро редактирует файлы больших размеров. Позволяет генерировать контрольные суммы. Умеет сравнивать файлы. Умеет безопасно удалять, склеивать и разделять файлы.
Все изменения немедленно сохраняются на диске. Поэтому, перед редактированием всегда создавайте резервные копии файлов.
http://mh-nexus.de/en/hxd/
http://mh-nexus.de/en/downloads.php?product=HxD
850 KB 1.7.7.0 Unrestricted freeware Windows 95 - 7

Hexplorer

Редактор оперативной памяти и диска. Дополнительные функции, такие как преобразование Фурье. Просмотр изображений. Умеет распознавать заголовки NTFS/FAT, BMP и так далее. Поддерживает макросы для автоматизации задач
Держит открытый файл полностью в памяти, из-за чего большие файлы сложно редактировать. По умолчанию настройки шрифтов и отображения выбраны не очень удачно.

Добрый день. Друзья, наконец, у нас появилась уникальная возможность протестировать многофункциональное программное обеспечение под названием WinHex . Этот универсальный комплекс привлек наше внимание тем, что среди его многочисленных функций не маловажную роль играет восстановление потерянных файлов. В умелых руках утилита WinHex становится мощным инструментом для решения самых серьезных задач. При помощи данного приложения вы можете проводить различные анализы и вычисления, восстанавливать информацию, диагностировать систему своего персонального компьютера и многое другое. Winhex rus позволяет пользователям логическим либо физическим методом редактировать имеющиеся в его распоряжении диски с платформами CDFS , NTFS и FAT . Универсальное приложение даже дает возможность реанимировать удаленные данные с со всех видов носителей цифровой информации. Давайте же выясним, умеет ли WinHex "оживлять" потерянные файлы.

Утилиту winhex скачать без оплаты вам нужно будет именно через данную страницу нашего сайта. Архив с установленной в папку утилитой имеет компактный размер (3.36 Mb ). Сегодня мы с вами опробуем программу WinHex версии 16.8. Ну что же, загружаем софт на свой компьютер, извлекаем из архива все файлы и русифицируем программу. Теперь, когда WinHex полностью готов к работе, можно приступать к делу. Попробуем восстановить данные с флеш карты micro sd (32 Gb ).

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

WinHex в один миг осуществил анализ файловой системы нашей карты micro sd . Теперь в центральном отделе рабочего окна вы можете наблюдать полный список найденных программой папок и файлов самых разных форматов. Наша задача - найти необходимые для нас стертые данные и копировать их на стабильное устройство для хранения информации. Необходимо отметить, что пиктограммы удаленных файлов в этом программном обеспечении обозначаются маленьким красным крестиком. Восстанавливаем данные по следующей схеме: Выделяем файл, правой кнопкой мышки вызываем контекстное меню, далее выбираем пункт "Восстановить/Копировать...".

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

Удачного восстановления данных!

Понравилась программа - делись с друзьями ссылкой.

1) - WinHex (rapidgator.net).

Разработчик программы: www.x-ways.net

ПОХОЖИЕ ПРОГРАММЫ

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

Возьмём флеш-накопитель и отформатируем его.

Рис.1 Форматирование флеш-накопителя.

Затем запишем на него текстовый документ размером 20 Кб, который содержит повторяющуюся текстовую строку «Test file».

Содержание:

Загрузочный сектор

После этого удалим тестовый объект и запустим Hetman Partition Recovery. Откроем с помощью HEX-редактора флешку, отформатированную в FAT32, и начнем анализ с зарезервированной области.

Рис.2

На рисунке выше выделены поля, которые нас интересуют:

  • Первое выделенное поле показывает, что размер сектора диска составляет 512 байт;
  • Следующий фрагмент показывает, что размер кластера равен 8192 байтам;
  • Далее мы видим, что размер зарезервированной области составляет 1160192 байта;
  • Следующее поле показывает, что на диске есть две копии FAT ;
  • Далее указано, что размер каждой копии FAT составляет 7808512;
  • Следующий фрагмент указывает на то, что корневой каталог находится во 2 кластере относительно области данных (16793600 байт).

Усвоив эту информацию, мы можем представить расположение основных структур диска FAT .

Корневой каталог

Давайте рассмотрим корневой каталог. Мы видим ряд записей, одна из которых наш тестовый Test.txt . Первый байт записи равен 0xE5 , так как он удален. Во время удаления драйвер создает дополнительную запись в корневом каталоге диска, предшествующую основной. Эта запись также создается с первым байтом равным 0xE5 . Она предназначена для сохранения имени удаляемого объекта. Давайте попробуем вернуть наше удаленное содержимое.

Рис.3

На рисунке выше первой идет дополнительная запись:

  • 0xE5 ;
  • Следующее отмеченное поле содержит имя – Test.txt .
  • Первое выделенное поле содержит сигнатуру 0xE5 , которая указывает на то, что документ удален;
  • Далее содержится адрес кластера (относительно области данных) с содержимым (16818176 байт);
  • Далее указан размер 19584 байт.

Определив начальный кластер и размер, мы должны обратиться к области FAT, чтобы составить цепочку занимаемых им кластеров на диске. Но проблема в том, что цепочка не сохранилась. При удалении все кластеры, которые занимала цепочка, были помечены как свободные. Вот почему все, что у нас есть, это начальный кластер и размер.

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

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

Рис.4

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

Интернет