Hex-редакторы vs. malware: Выбираем шестнадцатеричный редактор для анализа бинарников.  Лучшие бесплатные шестнадцатеричные редакторы (hex)

Hex Editor Neo Ultimate Edition – редактор бинарных, десятичных и шестнадцатеричных файлов для Windows, который будет очень удобным для разработчиков и хакеров. Вы сможете выделять, просматривать, редактировать, заменять данные, а сам процесс не займет много времени.

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

Неограниченная функция отмены.
Выбор различных объектов.
Сохранение и загрузка выбранного.
Поиск.
Поиск и замена.
Сохранение и загрузка истории.
Создание пакетов.
Операции с буфером обмена.
Различные режимы работы.
Установка цветов в образцах.
Инспектор данных.
Закладки.
Программа просмотра структуры.
Статистика.
Конвертер базы.
Создание сценариев.


При первом старте программа уведомит о наличии русского языка, готового к загрузке с официального сайта.
Нажимаем "Yes".
В открывшемся окне ставим галочку напротив русского языка и нажимаем кнопку "Download".
Далее в выпадающем списке выбираем "Русский" и нажимаем кнопку "Применить".
Появится окно с предупреждением о том, что перевод создан открытым сообществом и может быть не совсем корректным. Будут предложены следующие варианты:
"Use this lang pack" - использовать этот перевод
"Access online repository" - перейти к изменению исходного перевода в репозитории
"Cancel"- Отмена установки
Выбираем первый вариант, затем нажимаем кнопку "ОК". После этого программа запросит собственный рестарт для применения изменений,
Нажимаем подтверждение и программа перезапустится с русскоязычным интерфейсом.


Fixed Bugs
· Multiple bug fixes
A number of reported and internally discovered errors have been fixed.
· Fixed memory leak
Application allocated and never freed memory when recursive structures were used in Structure Viewer.
· Incorrect rendering of floating-point numbers
Floating-point numbers in range (-1..0) were displayed incorrectly in Structure Viewer, Data Inspector and other components.
New Features
· Explorer window settings persistence
Explorer windows now remember last recently used folder settings.
· New format specifier
Structure Viewer now allows new format specifier "c" in format() function and attribute. It forces rendering of integer values as single-byte or UNICODE character.
· New directives in Structure Viewer
The following directives have been added to Structure Viewer definition language: $revert_to, $shift_by and $remove_to. They allow having look-ahead during structure binding.
· New field attribute in Structure Viewer
New attribute forces exact match when rendering enumeration fields.
Updated Features
· Changed automatic item collapsing logic
User-defined type does not collapse if it contains other user-defined types and all of them implement attribute. Previously, presence of other user-defined types caused automatic collapsing of a parent type during visualization.


Установить программу, не запускать.
Скопировать Patch.exe в папку с установленной программой
Запустить, нажать кнопку "Patch"
Готово

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

Доброго всем дня.

Многие почему-то считают, что работа с hex-редакторами - это удел профессионалов и начинающим пользователям соваться в них не следует. Но, на мой взгляд, если иметь хотя бы базовые навыки работы с ПК, и представлять за чем вам нужен hex-редактор - то почему нет?!

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

1) Free Hex Editor Neo

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

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

Кроме всего прочего, программа поддерживает русский язык, имеет продуманный и интуитивно-понятный интерфейс. Даже начинающий пользователь сможет разобраться и начать работать с утилитой. В общем, рекомендую всем, кто начинает свое знакомство с hex-редакторами.

2) WinHex

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

В режиме редактора дисков позволяет работать с: HDD, дискетками, флешками, DVD, ZIP-дисками и пр. Поддерживает файловые системы: NTFS, FAT16, FAT32, CDFS.

Не могу не отметить удобные инструменты для анализа: кроме основного окна, можно подключить дополнительные с различными калькуляторами, инструментами для поиска и анализирования структуры файла. В общем, подойдет как новичкам, так и опытным пользователям. Программа поддерживает русский язык (выбрать следующее меню: Help / Setup / Russian ).

WinHex, кроме своих самых обычных функций (которые поддерживают аналогичные программы), позволяет производить «клонирование» дисков и удалять информацию с них так, чтобы ее уже никто и никогда не смог восстановить!

3) HxD Hex Editor

Бесплатный и довольно мощный редактор бинарных файлов. Поддерживает все основные кодировки (ANSI, DOS/IBM-ASCII и EBCDIC), файлы практически любого размера (кстати, редактор позволяет кроме файлов редактировать оперативную память, напрямую записывать изменения на винчестер!).

Так же можно отметить продуманный интерфейс, удобную и простую функцию поиска и замены данных, ступенчатую и многоуровневую систему резервных копий и откатов.

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

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

4) HexCmp

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

Кстати, места после сравнения могут быть закрашены в различный цвет, в зависимости от того, где все совпадает и где данные различны. Сравнение происходит на лету и очень быстро. Программа поддерживает файлы, размер которых не превышает 4 Гб (для большинстве задач вполне достаточно).

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

5) Hex Workshop

Hex Workshop - простой и удобный редактор бинарных файлов, который отличается прежде всего своими гибкими настройками и низкими системными требованиями. Благодаря этому, в нем можно вести редактирование достаточно больших файлов, которые в других редакторах просто не открываются или зависают.

В арсенале редактора есть все самые нужные функции: редактирование, поиск и замена, копирование, вставка и пр. В программе можно выполнять логические операции, вести бинарное сравнение файлов, смотреть и генерировать различные контрольные суммы файлов, экспортировать данные в популярные форматы: rtf и html.

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

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

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

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

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

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

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

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

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

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

Написать программу можно и не имея никаких ассемблеров-компиляторов и прочих инструментов – с помощью какого-либо шестнадцатеричного редактора (или 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).

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

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




Top