Можете ли вы порекомендовать шестнадцатеричный редактор, который можно запустить из оболочки? Мне нужно иметь возможность редактировать не только просматривать содержимое.
Можете ли вы порекомендовать шестнадцатеричный редактор, который можно запустить из оболочки? Мне нужно иметь возможность редактировать не только просматривать содержимое.
Ответы:
emacs
имеет hexl-режим для шестнадцатеричного редактирования.
dd
область, которую вы хотите отредактировать в файл, откройте ее в emacs, а затем dd
верните обратно.
xxd
Этот инструмент является наиболее доступным, который я нашел для задач такого типа (доступен по умолчанию как в последних версиях Ubuntu, так и в macOS). При необходимости вы можете удалить читаемую часть ascii справа, -p
используя -r
функцию, и вы можете вернуться (изменить ввод ascii на двоичные данные) с помощью функции. Вот несколько простых примеров использования:
Преобразование в гекс с представлением ascii:
echo example | xxd
Преобразование в hexdump (без представления ascii справа):
echo example | xxd -p
Преобразование из hexdump обратно в двоичные данные:
echo 746573740a | xxd -p -r
Вы можете сделать это намного сложнее в сценариях оболочки. Я на самом деле использовал это и «dd» для сканирования определенных последовательностей и изменения их заранее определенным образом, все из сценария оболочки, используя только bash dd
, и xxd
. Вам на самом деле не нужен dd для этого, так как вы можете «искать» в определенном месте и записывать в это место нужную вам последовательность байтов. Самым большим преимуществом этого подхода является простота написания сценариев.
Также есть DHEX
apt-cache show dhex
Основанный на ncurses шестнадцатеричный редактор с режимом diff
Это больше, чем просто другой шестнадцатеричный редактор: он включает в себя режим сравнения, который можно использовать для простого и удобного сравнения двух двоичных файлов. Так как он основан на ncurses и является темным, он может работать в любом количестве систем и сценариев. Благодаря использованию журналов поиска можно легко отслеживать изменения в разных итерациях файлов.
Если вы не знакомы с vim или emacs, похоже, у этого нет особой кривой обучения.
Вы можете также использовать vi / vim в качестве шестнадцатеричного редактора (он может вызывать xxd).
Войдите в шестнадцатеричный режим:
:%!xxd
Выйти из шестнадцатеричного режима:
:%!xxd -r
Источник: Использование vi в качестве шестнадцатеричного редактора.
:%!xxd
добавление новых символов (т.е. новой строки) в файл.
xxd
кто делает это, а сама Vim.
:set binary
! В противном случае VIM может повредить файл, добавив конец строки (CR / LF / CRLF) в конец файла (в зависимости от того, какой формат установлен в ( set ff=[mac/unix/dos]
)). Это очень вероятно, чтобы сломать исполняемые файлы и двоичные файлы данных. И это так. Много. Убедиться, что VIM находится в двоичном режиме, предотвратит это.
Я знаю, что это старый вопрос, но я был недоволен всеми ответами здесь. Я искал шестнадцатеричный редактор, который позволял бы мне создавать свои собственные двоичные файлы (он же режим вставки) и мог обрабатывать очень большие файлы.
Я наткнулся на твик , который отвечает обоим этим требованиям, а также ОП.
- Твик поддерживает режим вставки (не особенно полезен, если вы редактируете исполняемый файл или образ файловой системы, но может быть чрезвычайно удобен в других форматах файлов, таких как PNG).
- Вырезание, копирование и вставка в редактируемый файл чрезвычайно эффективны. Независимо от того, насколько большой объем данных вы перемещаете - даже если это 200-мегабайтный раздел образа компакт-диска - Tweak всегда будет эффективно выполнять операцию мгновенно.
- Твик поддерживает ленивую загрузку входного файла: вместо того, чтобы сразу загружать все это в память, он просто запоминает, какие части буфера редактирования являются копиями каких частей входного файла, и обращается к файлу на диске, когда это необходимо. Твик должен занять значительное время, когда он действительно нужен для чтения всего файла. Только две операции с этим свойством - поиск и сохранение измененной версии файла на диск. Все остальное мгновенно.
tweak
, но для меня это было неловко. Я могу попробовать еще раз, если мне действительно нужно редактирование. Запустите man tweak
из терминала для обзора и списка команд.
Bless Hex Editor является бинарным (шестнадцатеричным) редактором и в настоящее время предоставляет следующие возможности:
Вы можете загрузить его отсюда: http://packages.debian.org/sid/all/bless/download .
Чтобы установить его, см. Как установить файл .deb через командную строку?
Нужно больше?
bless
команды после установки.
Этот очень прост в использовании:
sudo apt-get install hexcurse