Перейти к содержимому

Как редактировать бинарный файл

  • автор:

How to edit a binary file on Unix systems [closed]

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.

Closed 3 years ago .

On Windows machines there are lots of third-party editors available to edit a binary file.

How can I edit a binary file on a Unix system?

Peter Mortensen's user avatar

12 Answers 12

In Vim, you can type :%!xxd to turn it into a hex editor. :%!xxd -r to go back to normal mode. xxd is shipped in a Vim installation.

See here for some remarks about editing binary files with Vim (it boils down to :set binary to avoid trouble. Use only the "R" or "r" command to change text, and don’t delete characters).

If you are an Emacs fan, see here for a guide on how to edit a binary file with Emacs.

Лучший редактор бинарных файлов для Windows

редактор PE файлов

В этой статье мы будем сравнивать и выбирать лучший редактор бинарных файлов для Windows. Для этой статьи я отобрал только те редакторы PE-файлов, которые работают в этой ОС. Если какой-то из инструментов поддерживает другие операционные системы и их исполняемые файлы (например, ELF), то это только плюс, но в данном случае для нас особого значения не имеет.

Мы будем выбирать редакторы на основе разумных и понятных факторов: функциональность, цена, удобство использования и частота обновления. Совсем старые решения, позволяющие редактировать бинарники для MS-DOS или Windows 9x мы рассматривать не будем. Если какой-то из редакторов распространяется платно, то мы протестируем ознакомительную версией и отдельно отметим, какие функции в ней доступны. Но самый главный критерий будет состоять во взломе настоящего крэкми.

Чтобы не тратить время на создание подопытной программы, мы воспользуемся уже готовым — passCompare35 . Именно на нем и будем испытывать разные утилиты. По большому счету, чтобы взломать наш простой крякми, PE-редактору надо обладать не такой уж большим функционалом: перейти по указанному адресу и переписать команду (желательно в дизассемблерном листинге). Править цифры в шестнадцатеричном дампе мне совсем не хочется (вероятно, вам тоже), поэтому наличие встроенного дизассемблера запишем в ключевые свойства.

PE-Explorer

редактор pe файлов pe explorer

Первой утилитой будет в нашем обзоре лучших редакторов исполняемых файлов идет довольно популярный редактор PE-Explorer. В отличие от своего собрата Resource Tuner, он умеет редактировать не только ресурсы приложения, но и код. Несмотря на свой почтенный возраст, отлично работает даже в Windows 10. К сожалению, PE-Explorer может работать только с 32-битными файлами и при попытке открыть 64-битный бинарный файл сообщает об ошибке.

Утилита может похвастаться богатым функционалом: отображает все элементы заголовка РЕ, определяет, к каким DLL происходит обращение, предсказывает поведение программ и логику взаимодействия с другими модулями и даже открывает запакованные UPX, UPack или NSPack файлы. Кроме того, PE-Explorer позволяет просматривать и редактировать секции PE-файла, анализировать содержимое таблиц импорта и экспорта и проверять наличие и целостность цифровой подписи. В качестве большого бонуса тут присутствует полноценный дизассемблер.

Но это только на словах, а на деле мы его сейчас протестируем. Из-за того, что данный редактор PE-файлов платный, я использовал демо версию, готовую работать на протяжении 30 дней и имея полный функционал платной версии.

После запуска редактора сразу же откроем наше подопытное приложение. PE-Explorer первым делом выводит информацию о заголовке PE-файла. Для получения сведений об остальных разделах достаточно покликать кнопки на панели инструментов. Нажимаем пиктограмму Disassembler и открываем окно для выбора поддерживаемых инструкций: SSE, SSE2 и прочее. Указываем нужные и начинаем процесс нажатием кнопочки Start Now .

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

Так как мы с помощью отладчика нашли адрес инструкции, которая отвечает за ход выполнения программы, то попробуем проверить этот адрес в PE-Explorer: нажимаем Ctrl-F (или «Search → Find») и вводим адрес для поиска: 402801 .

редактор pe файлов pe explorer

Если честно, то я немного разочарован результатом дизассемблирования. Даже отладчик в этом месте показывает мне инструкцию test , а здесь я вижу лишь начало ее шестнадцатеричного кода: 0 х 85 . При этом я не могу редактировать код! Зачем мне все эти возможности, если редактор не позволяет делать самую базовую вещь?

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

Разработчик: Heaventools Software
Сайт: http://www.heaventools.ru/pe-explorer.htm
Дата выхода последней версии: Октябрь, 2009
Стоимость: $129 – персональная лицензия

FlexHex

редактор hex flexhex

Думаю, нужно дать разработчику ещё один шанс, поэтому рассмотрим другой инструмент HeavenTools Software — hex-редактор FlexHex. Это инструмент для редактирования любых файлов, процессов или устройств в двоичном формате, ASCII и UNICODE. По словам разработчиков, редактор умеет работать с файлами просто гигантского размера – 8 эксабайт (см. также Как открыть большой файл). Кроме того, он поддерживает множество типов данных: байты, слова, двойные слова, восьмибитовые слова, различные десятичные значения со знаком и без, 32- и 64-битовые целые.

Сложные типы данных тут могут быть определены самим пользователем — это структуры, объединения, массивы, перечисления, строки и их сочетания. Обещают прямое редактирование любых значений, в том числе: шестнадцатеричных, строковых, изменение областей памяти и типизированных данных. Поддерживаются битовые операции (NOT, AND, OR и XOR над блоками данных) и, конечно же, арифметические операции: сложение, вычитание, умножение, деление и взятие остатка.

Но главная фишка FlexHex – это возможность сравнения файлов целиком или отдельными блоками. При этом использование карт сравнения делает процесс более интуитивным и наглядным.

Все это хорошо, но как утилита справится со взломом – нашей основной задачей? Отсутствие дизассемблера сразу намекает нам, что придется работать в hex-кодах. Запустим FlexHex и откроем с его помощью наш крякми.

Первым делом попробуем найти смещение 402801 . Кликаем «Navigate → Go To» и в списке слева выбираем пункт Address, а в поле «Enter address» вводим значение для поиска. Убеждаемся, что включен режим Hex и нажимаем кнопку «Go To». Однако результат поиска выносит нас далеко за границы приложения. Обратите внимание, что последние читаемые символы находятся по смещению 0x3659F0 . Если напрячь память, то вспоминается, что в заголовке РЕ базовый адрес (или адрес загрузки модуля) прописан как 0x400000 . А здесь он даже не учитывается!

редактор hex flexhex

Ладно, «пойдем другим путем». Строго говоря, FlexHex не понимает формат РЕ и потому его нельзя признать полноценным PE-редактором. Поэтому нам ничего не остается, как исправить байтики. Из того же отладчика, где мы нашли проверяющую пароли инструкцию, возьмем уникальную последовательность байт: 85 C0 74 3C 68 . Она покрывает ассемблерные команды:

Какие hex-редакторы можно посоветовать начинающим? Список из 5-ти лучших

hex-редакторДоброго всем дня.

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

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

1) Free Hex Editor Neo

2016-06-05 15_42_15-free hex neo

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

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

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

2) WinHex

2016-06-05 15_57_33-WinHex

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

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

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

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

3) HxD Hex Editor

2016-06-05 16_06_13-HxD

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

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

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

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

4) HexCmp

2016-06-05 16_53_05-HexCmp

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

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

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

5) Hex Workshop

2016-06-05 17_02_39-hexworkshop

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

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

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

Лучшие бесплатные шестнадцатеричные редакторы (hex)

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

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

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

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

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

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

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

HxD - Лучшие бесплатные шестнадцатеричные редакторы (hex)Одной из лучших утилит для редактирования двоичного кода является HxD. Во-первых, программа портативная и не нуждается в установке, что особенно важно, при частой необходимости в правке исполняемых файлов. Во-вторых, она имеет приятный интерфейс. В-третьих, 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 с возможностью просмотра изображений, при анализе стеганографии

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Luxury Car Rental in Miami | Reserve a Premium Vehicle with RealCar