Пожалуйста, порекомендуйте шестнадцатеричный редактор для оболочки

Можете ли вы порекомендовать шестнадцатеричный редактор, который можно запустить из командной оболочки? Мне нужно иметь возможность редактировать, а не только просматривать содержимое.

xxd

Этот инструмент является наиболее часто доступным, который я нашел для такого типа задач (доступен по умолчанию как в последних версиях Ubuntu, так и в macOS). При необходимости вы можете удалить часть, читаемую в формате ascii, справа, используя -p и вы можете вернуться (изменить ввод ascii на двоичные данные), используя -r функция. Вот несколько простых примеров использования:

Преобразование в шестнадцатеричный формат с помощью ascii-представления:

echo example | xxd

Преобразование в шестнадцатеричный дамп (без представления ascii справа):

echo example | xxd -p

Преобразование из шестнадцатеричного дампа обратно в двоичные данные:

echo 746573740a | xxd -p -r

Вы можете сделать это намного сложнее в сценариях оболочки. Я на самом деле использовал это и "dd" для сканирования определенных последовательностей и изменения их предопределенным способом, и все это из сценария оболочки, не используя ничего, кроме bash, dd, и xxd. На самом деле вам также не нужен dd для этого, поскольку вы можете "искать" в определенном местоположении и записывать в это местоположение нужную вам последовательность байтов. Самым большим преимуществом этого подхода является его простота в написании сценариев.

Существует также DHEX

apt-cache show dhex

шестнадцатеричный редактор на основе ncurses с режимом diff

Это больше, чем просто еще один шестнадцатеричный редактор: он включает в себя режим diff, который можно использовать для простого и удобного сравнения двух двоичных файлов. Поскольку он основан на ncurses и является тематическим, он может работать в любом количестве систем и сценариев. Благодаря использованию журналов поиска можно легко отслеживать изменения в различных итерациях файлов.

Если вы не знакомы с vim или emacs, то, похоже, у этого не так много возможностей для обучения.

Возможно, вы также сможете использовать vi / vim в качестве шестнадцатеричного редактора (он может вызывать xxd).

Войдите в шестнадцатеричный режим:

:%!xxd

Выход из шестнадцатеричного режима:

:%!xxd -r

Источник: Использование vi в качестве шестнадцатеричного редактора

emacs имеет hexl-режим для шестнадцатеричного редактирования.

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

Я наткнулся на щипать, который удовлетворяет обоим этим требованиям, а также OPs.

  • Tweak поддерживает режим вставки (не особенно полезен, если вы редактируете исполняемый файл или изображение файловой системы, но может быть чрезвычайно удобен в других форматах файлов, таких как PNG).
  • Вырезание, копирование и вставка в редактируемый файл чрезвычайно эффективны. Независимо от того, насколько большой объем данных вы перемещаете - даже если это раздел образа компакт-диска объемом 200 Мб, - Tweak всегда выполнит операцию эффективно и мгновенно.
  • Tweak поддерживает отложенную загрузку входного файла: вместо того, чтобы сразу засасывать все это в память, он просто запоминает, какие части буфера редактирования являются копиями каких частей входного файла, и ссылается на файл на диске, когда это необходимо. Настройка должна занимать значительное время только тогда, когда она действительно нужна вам для чтения всего файла. Единственными двумя операциями с этим свойством являются поиск и сохранение измененной версии файла на диск. Все остальное происходит мгновенно.

Этот очень прост в использовании:

sudo apt-get install hexcurse

Благослови Шестнадцатеричный редактор is a представляет собой двоичный (шестнадцатеричный) редактор и в настоящее время предоставляет следующие функции:

  • Эффективное редактирование больших файлов данных и блочных устройств.
  • Многоуровневые операции отмены и повтора.
  • Настраиваемые представления данных.
  • Быстрая визуализация данных на экране.
  • Несколько вкладок.
  • Быстрые операции поиска и замены.
  • Таблица преобразования данных.
  • Расширенные возможности копирования / вставки.
  • Выделение совпадений шаблона выделения в файле.
  • Архитектура на основе плагинов.
  • Экспорт данных в текст и html (другие с помощью плагинов).
  • Побитовые операции с данными.
  • Подробное руководство пользователя.

Вы можете загрузить его отсюда: http://packages .debian.org/sid/all/bless/download.

Чтобы установить его, см. Как мне установить файл .deb через командную строку?

Нужно больше?

Попробуй заколдованный, он создан для использования в скриптах и файлах make.

Существует также ht. Установите его как

sudo apt-get install ht

а затем запустите его, набрав hte.

Однако я не пробовал это с действительно большими файлами / разделами.

Я рекомендую шестнадцатеричный редактор Visual Studio Code, он действительно потрясающий. Ты можешь:

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

Я думаю, вы можете сделать это с помощью vim