Восстановление файлов в 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: .