Можете ли вы порекомендовать шестнадцатеричный редактор, который можно запустить из оболочки? Мне нужно иметь возможность редактировать не только просмотр контента.
emacs
имеет hexl-режим для редактирования в шестнадцатеричном формате.
xxd
Этот инструмент обычно доступен, я нашел для этого типа задачи (доступный по умолчанию и на последней Ubuntu и на macOS). Можно удалить ASCII читаемая часть справа в случае необходимости использование -p
и можно вернуться (ASCII изменения ввел к двоичным данным), использование -r
функция. Вот некоторое простое использование в качестве примера:
Преобразование в шестнадцатеричное число с представлением ASCII:
echo example | xxd
Преобразование в hexdump (никакое представление ASCII справа):
echo example | xxd -p
Преобразование из hexdump назад к двоичным данным:
echo 746573740a | xxd -p -r
Можно стать намного более сложными с этим в сценариях оболочки. Я на самом деле использовал это и "dd", чтобы просканировать для определенных последовательностей и изменить их предопределенным способом, который все из сценария оболочки, использующего только, колотят, dd
, и xxd
. Вам на самом деле не нужен dd для этого ни один, поскольку можно "искать" на определенное местоположение и записать в то местоположение последовательность байта, в которой Вы нуждаетесь. Самым большим преимуществом для этого подхода является свое легко scriptable.
Существует также DHEX
apt-cache show dhex
редактор шестнадцатеричных кодов на основе ncurses с режимом diff
Это больше, чем просто другое Шестнадцатеричный редактор: он включает в себя режим сравнения, который можно использовать для простого и удобного сравнения двух двоичных файлов. Поскольку он основан на ncurses и является темным, он может работать в любом количестве систем и сценариев. Благодаря использованию поисковых журналов можно легко отслеживать изменения в разных итерациях файлов.
blockquote>Если вы не знакомы с vim или emacs, похоже, у этого нет особой кривой обучения.
Вы также можете использовать vi / vim в качестве шестнадцатеричного редактора (он может вызывать xxd).
Вход в шестнадцатеричный режим:
:%!xxd
Выход из шестнадцатеричного режима:
:%!xxd -r
Источник: Использование vi в качестве шестнадцатеричного редактора
Попробуйте hexed , это сделано для использования в скриптах и создания файлов.
Bless Hex Editor является двоичным (шестнадцатеричным) редактором и в настоящее время предоставляет следующие функции:
Вы можете загрузить его отсюда: http://packages.debian.org/sid/all/bless/download .
Чтобы установить его, см. Как установить файл .deb через командную строку?
Нужно больше?
Я знаю, что это старый вопрос, но я был недоволен всеми ответами здесь. Я искал шестнадцатеричный редактор, который позволял бы мне создавать свои собственные двоичные файлы (он же режим вставки) и мог обрабатывать очень большие файлы.
Я наткнулся на твик , который удовлетворяет обоим этим требованиям, а также ОП.
blockquote>
- Твик поддерживает режим вставки (не особенно полезен, если вы редактируете исполняемый файл или образ файловой системы, но может быть чрезвычайно удобен в других форматах файлов, таких как PNG).
- Вырезание, копирование и вставка в редактируемый файл чрезвычайно эффективны. Независимо от того, насколько большой объем данных вы перемещаете - даже если это 200-мегабайтный раздел образа компакт-диска - твик всегда будет эффективно выполнять операцию мгновенно.
- Tweak поддерживает ленивую загрузку входного файла: вместо того, чтобы сразу загружать все это в память, он просто запоминает, какие части буфера редактирования являются копиями каких частей входного файла, и обращается к файлу на диске, когда это необходимо к. Твик должен занять значительное время, когда он действительно нужен для чтения всего файла. Только две операции с этим свойством - поиск и сохранение измененной версии файла на диск. Все остальное мгновенно.
Это очень простой в использовании:
sudo apt-get install hexcurse
Существует также ht
. Установите его как
sudo apt-get install ht
, а затем запустите, набрав hte
.
Я не пробовал это с действительно большими файлами / разделами.