Шестнадцатеричный редактор рус. Лучшие Hex редакторы, калькуляторы и конвертеры

Viber OUT 08.07.2019
Viber OUT

ПРИМЕЧАНИЕ
Рисунки на этой странице не отображаются, но вы можете найти их в книге.

То, что мы сделаем сейчас, с моей точки зрения весьма интересно. Это будет ваша первая программа в машинных кодах (и, скорее всего, единственная))).

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

Написать программу можно и не имея никаких ассемблеров-компиляторов и прочих инструментов – с помощью какого-либо шестнадцатеричного редактора (или hex-редактор или hex editor).

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

Для начала вам потребуется шестнадцатеричный редактор. Вы можете использовать любой, имеющийся у вас под рукой. Однако я буду использовать уже упоминавшийся McAfee FileInsight v2.1 . Этот hex-редактор можно скачать бесплатно. Все описанные ниже действия справедливы именно для этого редактора.

Итак, шестнадцатеричный редактор у вас установлен. Запускаем его. Щелкаем по кнопке ОТКРЫТЬ, находим один из созданных нами СОМ-файлов, например, debug_1.com, и загружаем его в редактор.

Когда файл загружен, в редакторе вы увидите следующее (см. также рис. 1.12):

00000000 B4 02 B2 41 CD 21 CD 20 ...A.!. Можете открыть два других созданных нами файла: mycode.com (созданный в emu8086) или ATEST.COM (который мы создали в разделе ). Увидите то же самое. Это значит, что все ассемблеры создают одинаковый машинный код. То есть отличия в тексте программ не являются принципиальными – они обусловлены только отличиями самих ассемблеров.

ПРИМЕЧАНИЕ
Если в вашем случае вы видите другую картину, то либо вы открыли другой файл, либо просматриваете его в текстовом режиме. В последнем случае нажмите кнопку View as Hex на панели инструментов (см. рис. 1.12).

Что же означают эти числа?

С нулями все понятно – это первая ячейка памяти, в которую записано число В4. Это число потом будет записано в адрес 0100h (для СОМ-файла). В строке должно быть 16 чисел, каждое из которых состоит из двух цифр. Числа записываются в шестнадцатеричной форме. Но у нас программа маленькая – всего 8 байт, поэтому и чисел у нас 8.

Ну а что же такое B4? Это команда – «Ввести значение в регистр АН». А какое значение вводим? Правильно: 02 (следующее в строке число).

AX=0200 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B72 ES=0B72 SS=0B72 CS=0B72 IP=0102 NV UP EI PL NZ NA PO NC 0B72:0102 B241 MOV DL,41 Видите в последней строке B241? Знакомое сочетание? Это код команды MOV DL, 41.

Осталось разобраться с загадочными символами в конце строки. А здесь все просто: каждая цифра в числе соответствует коду символа таблицы ASCII, и эти символы выводятся в той же последовательности, что и шестнадцатеричные цифры. В этом тексте вместо некоторых символов стоят точки (.) – это просто коды не буквенных символов.

Ну а теперь напишем и создадим нашу изученную вдоль и поперек программу без ассемблеров и компоновщиков. Открываем редактор, создаём новый файл (для этого щёлкаем кнопку NEW на панели инструментов), затем щёлкаем кнопку View as Hex и вводим данные:

00000000 B4 02 B2 41 CD 21 CD 20 Сохраняем файл под именем, например, hex_1.com. Все. Программа готова. Теперь ее можно запустить и в очередной раз полюбоваться своим творением. Результат будет тот же, что и во всех предыдущих случаях.

И ещё один приятный сюрприз от редактора McAfee FileInsight v2.1 – он имеет свой дизассемблер! Если вы загрузите в редактор исполняемый файл, а в левом нижнем углу выберите вкладку DISASSEMBLY, то сможете посмотреть исходный код загруженной программы на языке ассемблера (рис. 1.12).

Зачем вообще нужны шестнадцатеричные редакторы и дизассемблеры? Ведь это так сложно. Да, это непросто. Однако хакеры так не думают. Именно с помощью шестнадцатеричных редакторов и дизассемблеров они ломают программы. Находят в коде нужные им места и исправляют их в соответствии со своими хакерскими капризами.

Конечно, мы не хакеры. Ломать программы не будем. Однако дизассемблеры и шестнадцатеричные редакторы весьма полезны и законопослушными программистам. Они используются, например, для отладки, для изучения машинных кодов и т.п. Например, вы знаете, как выглядит команда на языке ассемблера, но хотите узнать её машинный код. Если нет документации, то выход только один – шестнадцатеричный редактор и/или дизассемблер. Следует, однако, учесть, что не все команды умещаются в машинный код из двух чисел. Некоторые команды довольно сложные и требуют большего количества чисел для представления в машинных кодах.

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

Немного теории

Любые данные хранятся в памяти ПК в виде машинных слов, иначе - байтов. Каждый включает в себя 8 битов (двоичных разрядов, которые принимают значение либо "0", либо "1"). Путем математических вычислений можно понять, что в одном байте может быть записано число в диапазоне от 0 до 255. Если перевести 255 в шестнадцатеричную оно преобразуется в FF. То есть для отображения любого машинного слова очень удобно использовать шестнадцатеричный вид представления. Отсюда и название группы программ - шестнадцатеричный редактор.

Основные элементы программ

Кроме описанной выше матрицы, в интерфейсе представленной группы приложений могут быть и иные средства:

  • Нумерация строк. Обычно располагается в левой части приложения. Показывает смещение первого байта строки относительно начала файла.
  • Сверху зачастую имеется схожая полоса цифр, показывающая смещение байта относительного левого значения в линии. Сложив значения строк, можно получить номер каждого байта.
  • В правой области могут отображаться те же данные, что и в таблице, но в виде текста пользователь).

McAfee FileInsight

Этот HEX-редактор абсолютно бесплатен. Работает только в операционных системах семейства Windows. В продукте имеется весь джентльменский набор, такой как просмотр и редактирование файла. При этом программа обладает приятным и удобным интерфейсом.

Но стандартные функции - это минимум, для которого может быть использован FileInsight. Каков максимум? Начать надо с возможности парсинга структур исполняемых файлов. Этого мало? Любой выделенный фрагмент может быть дизассемблирован на лету. Одно нажатие - и непонятные цифры становятся читаемым листингом.

Помимо прочего, этот HEX-редатор предоставляет множество алгоритмов обработки кода для обхода встроенной разработчиками защиты. Прежде всего, нужно обратить внимание на декодирование методов обфускации, таких как add, xor, Base64, shift. Скрипты, с которыми поставляется приложение, ломают подобную криптозащиту с легкостью. Большую часть действий можно автоматизировать, написав простые сценарии на JS или Python. Иногда и создавать ничего нового не требуется, ибо база оных набрана внушительная.

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

Hex Editor Neo

Этот HEX-редактор распространяется в двух версиях: бесплатной и продвинутой. Продукт с freeware-лицензией - качественный, но непримечательный. Из особенностей можно выделить широкие настройки интерфейса и цветовых схем. Профессиональный вариант предоставляет больше полезных возможностей, которые особо актуальны во время анализа

Например, пользователю предоставляются возможности декодирования программ, закриптованных общими алгоритмами. Дополнительно к этому есть функции, позволяющие редактировать локальные ресурсы (оперативная память, NTFS-потоки, жесткие диски). Автоматизация процессов реализована с помощью скриптов VBS и JS.

Однако самой главной особенностью программы является дизассемблер, который может работать с x64, x86 и.NET-файлами. Еще одна функция, не предоставляемая конкурентами, - создание патча на основе сравнения двух исполняемых-бинарников. Безусловно впечатляет, но если сравнивать с FileInsight, Neo все равно проигрывает. Однако NEO может работать с файлами большого объема.

Hiew

HEX-редактор Hiew не имеет бесплатной версии. Разработками занимается команда из России. Начинает свою историю продукт еще со времен 16-битных приложений для DOS и Windows 3.1. Hiew часто используют профессионалы, занимающиеся вопросами компьютерной и информационной безопасности. Причины понятны: весь спектр возможностей для редактирования и просмотра исполняемых бинарных файлов Windows, а также откомпилированных программ Linux (ELF).

Еще одна примечательная функция, помогающая в реверс-инжиниринге, - встроенные в Hiew дизассемблер и ассемблер. Причем они работают, как с x86, так и с x86_64-приложениями, поддерживаются и инструкции процессоров С большими файлами редактор справляется без каких-либо сложностей, позволяет выполнять низкоуровневое изменение данных на физических HDD.

Большое количество действий может быть автоматизировано. Для этого программисты встроили возможность создания скриптов, клавиатурных макросов и API-функций, которые используются для вызова внутренних процедур из внешних приложений. Но до безоговорочной победы на ниве шестнадцатеричных редакторов Hiew все-таки не добрался. Его интерфейс полностью выполнен в стиле DOS, а отрисовкой окон занимается (или консоль, если говорить о Linux-системах).

HxD Hex Editor это редактор данных с поддержкой ANCI кодировки. Приложение применяет шестнадцатеричное представления для любых открываемых файлов, умеет работать с элементами оперативной памяти, с сохранением изменений на жестком диске. Позволяет выполнять поиск и замену значений в автоматическом или ручном режиме. Включает инструменты экспорта данных, создания контрольных сумм и стирание фрагментов кода.

Программа умеет разделять файлы на части нужного размера, поддерживает обработку большого объема информации. Использует модульный интерфейс с возможностью просмотра стандартного и шестнадцатеричного варианта кода. Позволяет отменять любые внесенные изменения, содержит средства навигации по контексту и адресу строки.

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

Скачать бесплатно полную русскую версию HxD Hex Editor с официального сайта без регистрации и смс.

Системные требования

  • Поддерживаемые ОС: Windows 8.1, Vista, 10, 8, 7, XP
  • Разрядность: 64 bit, x86, 32 bit

В данной статье будет рассказано о работе в бесплатном 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», кликаю два раза по нужной ячейке и забиваю новое значение.

Действуя аналогично, я вношу следующие изменения:

  1. Для исправления ошибки «Требуется MS SQL Server 6.5 + Service Pack 5a или более старшая версия! » изменяем поля:
    по смещению 000d9cca значение 83 меняем на eb
    по смещению 000d9ccb значение e8 меняем на 15
    по смещению 000db130 значение 83 меняем на eb
    по смещению 000db131 значение e8 меняем на 10
  2. Для исправления ошибки «Порядок сортировки, установленный для базы, отличается от системного! »:
    по смещению 0018a79d значение 75 меняем на eb
  3. Для исправления ошибки «Неправильный синтаксис около ключевого слова «TRANSACTION »
    Фразу DUMP TRANSACTION %s WITH TRUNCATE_ONLY , которая находится по смещению 002856B0 заменяем на фразу ALTER DATABASE %s SET RECOVERY SIMPLE
  4. Для исправления ошибки «База данных не может быть открыта в однопользовательском режиме », изменяем поля:
    по смещению 0028549c значение 64 меняем на 6b
    по смещению 0028549d значение 62 меняем на 70

После того, как все изменения сделаны, сохраним файл, нажав «File » — «Save » .

Помогла ли Вам данная статья?

Как блокнот 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 и так далее. Поддерживает макросы для автоматизации задач
Держит открытый файл полностью в памяти, из-за чего большие файлы сложно редактировать. По умолчанию настройки шрифтов и отображения выбраны не очень удачно.


Рекомендуем почитать

Наверх