Можете ли вы порекомендовать шестнадцатеричный редактор, который можно запустить из командной оболочки? Мне нужно иметь возможность редактировать, а не только просматривать содержимое.
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 через командную строку?
Нужно больше?
Существует также ht
. Установите его как
sudo apt-get install ht
а затем запустите его, набрав hte
.
Однако я не пробовал это с действительно большими файлами / разделами.
Я рекомендую шестнадцатеричный редактор Visual Studio Code, он действительно потрясающий. Ты можешь:
- смотрите каждый октет (байт)
- смотрите соответствующие представления байтов в двоичном формате,
int
s разных размеров и т.д - вы можете изменить порядковый номер
- отредактируйте отдельные байты
- ... и многое другое
Я думаю, вы можете сделать это с помощью vim