Расширение файла
Проблема заключается в огромном количестве типов файлов и поначалу не ясно, каким образом операционная система определяет текстовые, мультимедийные или архивные и прочие типы данных. Как известно, определение файла системой осуществляется с помощью расширения, добавляемого после названия, например, «.exe», «.txt» и другие.
Настройки в ОС гибкие, а значит расширение любого файла можно удалить, но тогда операционная система не сможет открыть его, она не поймет, с помощью какой программы его запустить. При этом логическая структура объекта не изменится. На изображении видно текстовый файл, а рядом с ним тот же самое, но без расширения и иконка у него белая.
Если объект без расширения остается тем же самым файлом с логическим набором символом, значит расширение не определяет его тип, но тогда что? Есть такое понятие, как формат
– это и определяет тип, также это есть спецификация структуры данных. Расширение же совершенно другой термин. А что делать, если пользователю изначально попался файл без расширения, но его срочно нужно открыть, а чем – неизвестно?
Как открыть файл HEX
Далеко не все являются программистами, и иногда открыть файл с расширением HEX может понадобиться обычному человеку, чтобы посмотреть в нём некую информацию. На самом деле для такой простой задачи вполне достаточно обычного Блокнота – стандартного приложения, которое имеется в любой системе Windows. Ведь этот файл, по сути, является текстовым, просто в нём записана специфическая информация, но обычными символами.
Для этого достаточно кликнуть на файле правой кнопкой мыши, выбрать в меню пункт «Открыть» или «Открыть с помощью», затем «Выбрать из списка установленных программ», а далее просто выбрать стандартный Блокнот. Снимите галочку с пункта «Использовать выбранную программу для всех файлов этого типа» — вдруг вы его потом будете открывать другой программой. Можно просто открыть Блокнот, а файл в него перетащить, и он откроется.
Гораздо удобнее для открытия таких файлов подходит другая версия Блокнота – Notepad++. Скачать можно по этой ссылке. Эта программа также есть у многих, так как более удобна. Но она может к тому же распознавать многие языки программирования и файлы HEX в ней выглядят гораздо удобнее, так как есть выделение цветом. Notepad++ представляет собой как бы примитивный HEX-редактор, и этим можно пользоваться совершенно свободно.
Так выглядит HEX-файл, открытый в Notepad++. В стандартном Блокноте так же, но без цвета.
А теперь рассмотрим более подробно, для чего может понадобиться открывать, а тем более изменять файлы с шестнадцатеричным содержимым. Кстати, если вы собираетесь делать это часто, то лучше скачайте и установите специальный HEX-редактор – их в Интернете довольно много. Некоторые из них подробнее рассматриваются далее.
Взлом игр и файлов
Популярная причина, по которой вы можете использовать шестнадцатеричный редактор, – взлом игр. Вы можете загрузить документ сохранения игры и изменить сумму денег, например, от 1000 до 1000000 долларов. В более поздних играх всё сделано намного сложнее. Многие современные игры используют либо сжатие, либо шифрование, что во много раз затрудняет декомпиляцию состояния сохранения или игры. Тем не менее, некоторые игры по-прежнему позволяют редактировать определённые переменные, например, Sonic Spinball. В дополнение к просмотру файлов игры, из сохранённого файла иногда можно извлечь другую важную информацию, к которой у вас иначе не было бы доступа. Это сильно зависит от типа файла и того, какую информацию вы ищете, но использование шестнадцатеричного редактора полезно для определения того, что именно находится в документе.
https://youtube.com/watch?v=iAvyYApU4AI
Отладка и редактирование
Наконец, еще одна популярная причина, по которой вы можете использовать шестнадцатеричный редактор, – это если вы программист, и вам нужно отладить код. Вместо того, чтобы возвращаться к перекомпиляции кода, для проверки шаблона может потребоваться простое шестнадцатеричное редактирование. Но для начала обязательно убедитесь, что у вас есть резервная копия, прежде чем изменять какие-либо файлы с помощью шестнадцатеричного редактора.
wxMEdit
- wxMEdit — кроссплатформенный Текст/Hex редактор , написанный на C++ & wxWidgets.
- wxMEdit — это улучшенная версия редактора MadEdit, работа над которым была прекращена.
- wxMEdit может редактировать файлы в режимах Текст/Колоночный/Шестнадцатеричный, и поддерживает множество полезных функций, например закладки, подсветку синтаксиса, преобразование в другие кодировки, переносы слов, подсчет слов и проверку обновлений.
- wxMEdit поддерживает все основные кодировки (UTF8/16/32, ISO-8859-x, CP125x, KOI8, GB18030, Big5, …) не только в Текстовом/Колоночном режиме , но и в шестнадцатеричном (Hex) режиме.
- Целью этого проекта является предоставление постоянно поддерживаемого Текст/HEX редактора с исправлением ошибок, улучшением и оптимизацией.
Руководство по быстрому выбору (ссылки на скачивание бесплатных шестнадцатеричных 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 и так далее. Поддерживает макросы для автоматизации задач | ||
В данной статье будет рассказано о работе в бесплатном hex-редакторе Free Hex Editor Neo , на примере правки файла BkEnd.dll
из поставки для корректной работы этой системы с .
1. Немного о hex-редакторах и файлах
Как известно, любой файл, хранясь на жестком диске компьютера, представляет собой последовательность машинных слов — байтов. Байт, в свою очередь, состоит из 8 битов, каждый из которых может принимать значение «0» или «1» , а это означает, что один байт может принимать 2 8 =256 значений в диапазоне от 0 до 255. Число 256 10 , записанное в шестнадцатеричной системе, является круглым трёхзначным числом — 100 16 , т. е. для представления любого числа из диапазона 0-255 потребуется не более 2 разрядов. А это значит, что значение каждого байта очень удобно записать двузначным числом в шестнадцатеричной системе счисления.
Hex-редактор (англ. hex-editor) показывает нам файл, так, как его «видит» машина, а именно, последовательностью байтов. Например, открыв файл в редакторе, мы увидим матрицу, состоящую из 16 колонок и числа строк зависящего от размера файла. Каждое значение матрицы соответствует одному байту, записанному двузначным шестнадцатеричным числом. Изменяя значение нужного байта, мы можем, соответственно, изменить сам файл.
Кроме того, рядом с таблицей можем увидеть:
- Слева от матрицы отображается линейка из чисел: каждой строчке соответствует число, означающее адрес/смещение первого байта этой строчки. Шаг адресов при этом равен количеству колонок.
- Сверху от матрицы отображается другая линейка: над каждой колонкой отображается смещение байта, стоящего в этой колонке, относительно первого байта соответствующей строчки. Сумма числа, соответствующего i -той строке, и числа, соответствующего j -той колонке является адресом/смещением байта (i;j) , стоящего на пересечении взятой строки и взятого столбца.
- Справа от матрицы отображаются те же данные, но в другой интерпретации. Чаще всего используется альтернативное отображение данных как текста в кодировке ASCII , при этом байты, значения которых соответствуют непечатным символам, отображаются как точки (·). Редактировать значения можно и в этой области.
2. Установка Free Hex Editor Neo
Например, мне нужно в байт со смещением 000d9cca
записать значение eb
. Для этого я нахожу строку «000d9cco» и столбец «0a», кликаю два раза по нужной ячейке и забиваю новое значение.
Действуя аналогично, я вношу следующие изменения:
- Для исправления ошибки «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия!
» изменяем поля:
по смещению 000d9cca
значение 83
меняем на eb
по смещению 000d9ccb
значение e8
меняем на 15
по смещению 000db130
значение 83
меняем на eb
по смещению 000db131
значение e8
меняем на 10
- Для исправления ошибки «Порядок сортировки, установленный для базы, отличается от системного!
»:
по смещению 0018a79d
значение 75
меняем на eb
- Для исправления ошибки «Неправильный синтаксис около ключевого слова «TRANSACTION
»
Фразу DUMP TRANSACTION %s WITH TRUNCATE_ONLY
, которая находится по смещению 002856B0
заменяем на фразу ALTER DATABASE %s SET RECOVERY SIMPLE
- Для исправления ошибки «База данных не может быть открыта в однопользовательском режиме
», изменяем поля:
по смещению 0028549c
значение 64
меняем на 6b
по смещению 0028549d
значение 62
меняем на 70
После того, как все изменения сделаны, сохраним файл, нажав «File
» — «Save
» .
Помогла ли Вам данная статья?
Сейчас будет большой материал на тему того, из чего состоят данные и как их можно редактировать. Многие знают, что любой файл на компьютере (картинка, текстовый или мультимедийный) представляет собой двоичный код – нули и единицы. Для редактирования таких файлов используются HEX-редакторы
– приложение, редактирующее данные, состоящие из байтового кода. Байты в редакторе представлены в виде шестнадцатеричной системы.
Хакерский редактор Hacker Viewer (Hiew) .
Для визуального восприятия шестнадцатеричного кода воспользуемся замечательным простым, но достаточно функциональным DOS редактором Hacker Viewer (Hiew). Вы найдёте его в папке D:\UTILS\HIEW\ (я надеюсь, что наш архив программ DOS-1.rar уже скачан и DOSBox установлен и запущен).
Запускаем HIEW (Hacker Viewer).
Инструкцию по пользованию Hiew для хакеров от Криса Касперского вы найдёте в папочке readme. Пользоваться редактором просто и удобно.
Откроем с помощью Hiew нашу программу PRG.COM (выбор файлов — F9). При помощи F4 выбираем режим отображения информации HEX (как вы уже знаете, шестнадцатеричный режим). Можете с помощью F4 или Enter по переключаться между режимами отображения.
Переключение режимов отображения в Hacker Viewer.
Обратите внимание на положение Decode (декодирование). Вам это ни о чём не говорит? Да, да, да в Hiew имеется встроенный дизассемблер и даже ассемблер! Можно внести изменения в ассемблерный код, не выходя из редактора и сохранить изменения
Исполняемый файл останется рабочим — гениальная программа с поразительными возможностями для своего времени!
Подобное отображение HEX системы счисления вы увидите практически во всех отладочных программах и просмотрщиках файлов. Перемещайте курсор с помощью клавиш стрелок на клавиатуре. Вверху вы заметите изменение цифры указателя (pointer).
Наша первая программа в шестнадцатеричном виде.
Указатель является одним из основополагающих понятий в системе программирования. Основы понимания работы с указателем рассмотрим попозже.
WinHex
Начнем с «ВинХекса» – довольно простого в пользовании, но универсального шестнадцатеричного редактора. Он работает практически со всеми видами файлов, способен восстанавливать удаленные и поврежденные данные с жесткого диска. Кроме того, он позволяет просматривать информацию, которую многие программы обычно скрывают.
WinHex поддерживает все известные файловые системы (FAT16, FAT32, NTFS и др.) и читает 20 типов данных. Обладает функциями редактирования оперативной памяти, клонирования дисков, анализа, сравнения, объединения и разделения файлов, алгоритмом 256-битного шифрования и др. Однако бесплатная версия лишена большей части этих возможностей.
FlexHex
FlexHex – это мощный коммерческий hex-редактор от компании Heaventools Software, который включает многие из функций, доступных в Hex Editor Neo. Единственное, чего здесь нет – это, пожалуй, поддержка скриптов. Зато этот полнофункциональный редактор одинаково хорошо обрабатывает бинарники, OLE-файлы, физические диски и альтернативные NTFS-потоки
Последнее особенно важно, потому что FlexHex позволяет редактировать те данные, которые другие редакторы могут даже не увидеть. К тому же сразу чувствуется ориентированность на работу с большими массивами информации: какой бы размер ни был у файла, навигация по нему осуществляется без каких-либо лагов и тормозов
Для еще большего удобства работает система удобных закладок. При этом FlexHex непрерывно ведет историю всех операций – можно отменить любое действие, просто выбрав его из списка изменений (undo-list не ограничен)! В FlexHex поддерживаются все необходимые операции с бинарными данными, поиск ASCII и Unicode-строк. Если необходимо обрабатывать структуру с заранее известным форматом, задать ее параметры не составит труда с помощью специальных инструментов. В результате получаем отличный hex-редактор, но все-таки сильно уступающий тому же FileInsight. Единственная примечательная опция – это обработка OLE-файлов, но и тут есть проблемы. Несколько раз при попытке открыть зараженный OLE, программа вылетала с ошибкой «The docfile has been corrupted».
Типы данных, определенные пользователем
- Структуры, именованные и анонимные
- Типы Union, поименованные и анонимные
- Именованные и анонимные битовые структуры для доступа к битовым полям
- Массивы фиксированного и переменного размера
- ANSI и UNICODE строки фиксированной и переменной длины, а так же нуль-терминированные.
- Перечисления в стиле C
- Специальные директивы unused, align address и align offset
- Типы, определенные пользователем, могут быть связаны с адресом (fixed), данными (sticky), или курсором (floating)
Data Field (Поле данных, определённых пользователем) — это область файла, которой пользователь присвоил тип и, опционально, имя.
Команда Edit Data Field обеспечивает более удобный способ изменения значений в поле данных, хотя это значение можно по прежнему ввести и в главном окне редактирования. Панель Data Field отображает все заданные поля данных и обеспечивает удобную навигацию по ним.
Hiew
Должен признать, к этому моменту меня уже стали огорчать имеющиеся на рынке PE-редакторы. Ни один из рассмотренных не поддерживает переход по смещению относительно базового адреса загрузки модуля. Кроме того, хочется все же редактировать ассемблерный код и использовать поиск для экономии сил и времени. Посмотрим, сможет ли все это предложить утилита Hiew, первая версия которой была выпущена еще в начале девяностых годов прошлого века.
Изначально программа была бесплатной, так что с сайта разработчика до сих пор можно свободно скачать версию 6.50. Но сделать это стоит разве что из ностальгических соображений, ведь реальной пользы от этого мало. Версия предназначена для MS-DOS, и в Windows 10 работать откажется.
При этом стоит отметить, что утилита Hiew не использует сторонние библиотеки, SDK или API, все написано на нативном уровне. Иными словами, разработчик не опирается на возможности операционной системы. Именно поэтому до версии 7.0 программа кроме Windows работала в системах MS-DOS и OS/2. Однако поддержка последних была прекращена из-за очевидной нецелесообразности.
Между тем Hiew в актуальной версии 8.67 – это настоящий швейцарский нож: он обладает поистине широчайшей функциональностью, способной ответить практически на любой запрос пользователя. Среди ключевых возможностей редактора стоит отметить: просмотр и редактирование файлов в текстовом, шестнадцатиричном виде и в режиме дизассемблера, встроенный х86-64 ассемблер и дизассемблер, мощный 64-битный калькулятор и поддержка исполняемых файлов самых разнообразных форматов.
Кроме того, утилита позволяет работать с логическими и физическими дисками, производить блоковые операции любой длины (в том числе, чтение, запись, удаление и перемещение), осуществлять многофайловый поиск и замену, а также поиск по шаблону в дизассемблере.
Уже внушительный список, но для тех, кому и этого мало, есть возможность создавать Hiew External Modules, адаптируя редактор под свои нужды. К сожалению, большинство перечисленных функций в демо-версии приложения не работает, поэтому я принял решение приобрести лицензию, тем более что стоимость в данном случае полностью оправдана.
Хорошо, заломим наш крякмис с помощью Hiew — чисто для демонстрации. Запустим hiew32.exe и в открывшемся окне выберем наш файл –
passCompare35.exe. Откроем дизассемблер клавишей F4 и в появившемся окне выберем режим Decode
Обратите внимание на смещение, оно начинается с
400000 – базового адреса модуля. Перейдем по адресу
0x402801 через нажатие на F5
Окажемся точно в нужном месте, на сверяющей инструкции
test, которую перепишем на xor. Снова Enter для фиксации изменений и F9 для сброса данных на диск. Готово, просто и приятно!
Разработчик: Евгений СусликовСайт: http://www.hiew.ru/Дата выхода последней версии: Февраль, 2019Стоимость: 555 руб.
Hiew
HEX-редактор Hiew не имеет бесплатной версии. Разработками занимается команда из России. Начинает свою историю продукт еще со времен 16-битных приложений для DOS и Windows 3.1. Hiew часто используют профессионалы, занимающиеся вопросами компьютерной и информационной безопасности. Причины понятны: весь спектр возможностей для редактирования и просмотра исполняемых бинарных файлов Windows, а также откомпилированных программ Linux (ELF).
Еще одна примечательная функция, помогающая в реверс-инжиниринге, — встроенные в Hiew дизассемблер и ассемблер. Причем они работают, как с x86, так и с x86_64-приложениями, поддерживаются и инструкции процессоров С большими файлами редактор справляется без каких-либо сложностей, позволяет выполнять низкоуровневое изменение данных на физических HDD.
Большое количество действий может быть автоматизировано. Для этого программисты встроили возможность создания скриптов, клавиатурных макросов и API-функций, которые используются для вызова внутренних процедур из внешних приложений. Но до безоговорочной победы на ниве шестнадцатеричных редакторов Hiew все-таки не добрался. Его интерфейс полностью выполнен в стиле DOS, а отрисовкой окон занимается (или консоль, если говорить о Linux-системах).
Иногда возникает необходимость внести изменения в двоичный файл. Для этого используются так называемые 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 редактор» («редактором бинарных файлов» или «редактором байтов») обычно представляет собой компьютерную программу для работы с двоичным (бинарным) кодом. Имя «hex» является сокращением от «hexademical» (шестнадцатеричный), что связано с шестнадцатеричной системой счисления, позиционирующей цифру 16 как базис (аналогично цифре 10 в десятичной системе).
Отображение цифр от 1 до 10 в двух системах счисления
Основное назначение «HEX редакторов» — парсинг и редактирование секторов флоппи и жёстких дисков. Тем не менее указанные инструменты активно используются для анализа и редактирования содержимого множества компьютерных файлов.
По сравнению со стационарными альтернативами, HEX редактор в режиме онлайн может обладать более скромными возможностями. Обычно он работает в окне браузера, и не поддерживает файлы большого объёма
Тем не менее существуют HEX сервисы с довольно мощным функционалом, способным привлечь внимание профессионалов
Работа с HEX онлайн строится по стандартному алгоритму. Вы переходите на такой сетевой редактор, загружаете в него файла для редактирования, выполняете изменения, после чего сохраняете на ПК полученный результат.
Перейдём к перечислению отечественных и зарубежных HEX приложениях, позволяющих отредактировать HEX файл онлайн.
Расшифровка дескриптора
Чтобы понять, что за данные там находятся, нужно код расшифровать. Для этого понадобится специальный сервис, определяющий форматы файлов, например, open-file.ru . Но есть и другие ресурсы, которые легко найти в интернете. После загрузки файла на сайт произойдет анализ данных, а затем вывод результата. Ниже появится таблица с типом, форматом и описанием файла.
То, что мы разобрали выше – использование HEX-редакторов. Теперь разберемся с кодом ASCII. Данный код можно проанализировать при помощи того же open-file.ru. Другими словами, оба кода проверяются на ресурсе и ничего по сути не нужно вводить.
Иногда формат определить не так просто. Это касается ASCII-заголовков. Дело в том, что первые несколько символов могут иметь отношение к расширениям файла, а может и к нескольким форматам.
Конечно, есть вариант определения формата. Для анализа будет использоваться несколько строк, а не одна. Тогда какой-то из элементов, находящийся там, по любому будет указывать на тип объекта.
Mobilefish.com – простой англоязычный hex-редактор файлов онлайн
Среди простых HEX сервисов онлайн необходимо отметить mobilefish.com – сайт, посвящённый веб-девелопмент, блокчейну и других цифровым технологиям. В его функционале имеется простой редактор, позволяющий проводить HEX-редактирование файлов не более 5 килобайт. Инструмент имеет необходимый базисный набор инструментов для редактирования уже существующих файлов, плюс позволяет создавать свои собственные бинарные файлы.
- Для работы с ним необходимо перейти на mobilefish.com.
- Нажать на «Обзор», ввести код подтверждения.
- После чего нажать на «Extract Info».
Работа с HEX данными на Mobilefish.com
010 Editor
010 Editor – известный коммерческий продукт, разработанный SweetScape Software. Если сравнивать его с предыдущими тремя инструментами, то он умеет все: поддерживает работу с очень большими файлами, предоставляет классные возможности по оперированию с данными, позволяет редактировать локальные ресурсы, имеет систему скриптинга для автоматизации рутинных действий (более 140 различных функций к твоим услугам). А еще у 010 Editor есть изюминка, уникальная фишка. Редактор уделывает всех благодаря возможности парсить различные форматы файлов, используя собственную библиотеку шаблонов (так называемые Binary Templates). Вот здесь ему нет равных. Над шаблонами работают множество энтузиастов по всему миру, забивая различные структуры форматов и данных. В результате процесс навигации по различным форматам файлов становится прозрачным и понятным. Это касается в том числе и обработки бинарников для винды (PE файлам), файлов-ярлычков Windows (LNK), Zip-архивов, файлов Java-классов и многого другого. Всю прелесть этой фишки многие смогли осознать, когда известный специалист по безопасности Didier Stevens создал для 010 Editor шаблон для парсинга PDF-файлов. Вкупе с другими утилитами это серьезно упростило анализ зараженных PDF-документов, которые последние полгода не перестают удивлять количеством мест, откуда можно эксплуатировать программу-читалку. Добавляем сюда классный инструмент для сравнения бинарников, калькулятор с C-подобным синтаксисом, конвертирование данных между ASCII, EBCDIC, Unicode-форматами, и получаем очень привлекательный инструмент с уникальными фишками.