Шестнадцатеричный просмотрщик различий для Linux

Я ищу хороший шестнадцатеричный просмотрщик для Linux.

Он должен иметь графический интерфейс и быть интуитивно понятным в использовании.

Он также должен иметь возможность сравнивать два файла и, возможно, даже показывать различия.

Ответы (3)

Hex diff viewers с графикой консоли/терминала:

  • vbindiff, Делит экран на верхнюю и нижнюю части, без вида справа/слева, вывод с фиксированной шириной.
  • hexdiff, Тот же вид сверху/снизу, что и vbindiff, вывод с фиксированной шириной, и это может быть шестнадцатеричный редактор .
  • dhexСредство просмотра различий сверху и снизу, шестнадцатеричный редактор, вывод с изменяемой шириной (подходит для терминала) и предлагает лучшую навигацию.

Графические просмотрщики шестнадцатеричных различий: я не знаю ни одного, но вот функция оболочки, использующая mgdiff, (которая имеет вид слева/справа) и hexdump(AKA hd), неэффективно:

mgdiffhex () 
{ 
    a="/tmp/$(basename "$1")$$.hex"
    b="/tmp/$(basename "$2")$$.hex"
    hd "$1" > "$a"
    hd "$2" > "$b"
    mgdiff "$a" "$b"
    rm     "$a" "$b"
}

Затем запустите:

mgdiffhex foo bar

Примечания: hexdumpУтилита может быть запущена с параметрами форматирования, которые допускают произвольную ширину терминала; mgdiffhexможет быть изменен размер, но не имеет каких-либо средств переформатирования шестнадцатеричных дампов в окне с измененным размером. Их объединение создает грубый графический просмотрщик шестнадцатеричных различий.

Ответ — wxHexEditor в репозиториях Ubuntu.

https://github.com/EUA/wxHexEditor

Не могли бы вы добавить скриншот, показывающий функцию diff? Спасибо!

По какой-то причине трудно найти инструмент с графическим интерфейсом, который будет выполнять сравнение двоичных файлов. Я нашел несколько вариантов, но, честно говоря, варианты CLI, предложенные agc , могут в конечном итоге улучшить взаимодействие с пользователем.

wxHexEditor

  • Может быть лучшим вариантом, хотя у него странные значения по умолчанию, которые затрудняют его использование (обходные пути см. ниже):
    • Нечитаемая цветовая схема по умолчанию (вероятно, из-за стандартной палитры Gnome в Ubuntu)
    • По умолчанию используются адреса base-10 (можно изменить в столбце Offset , щелкнув правой кнопкой мыши; я не вижу способа изменить его в результатах сравнения )
    • При выполнении сравнения двух файлов по умолчанию прокручивается только один файл.
    • Количество байтов в строке зависит от ширины экрана.
  • Чтобы сравнить файлы:
    1. Инструменты > Сравнить файлы
    2. Убедитесь, что вы установили флажок «Подключить файлы» для прокрутки , иначе каждый файл будет прокручиваться отдельно.
  • Юзабилити настройки
    1. Щелкните правой кнопкой мыши столбец смещения , чтобы переключиться на шестнадцатеричные значения.
    2. «Параметры» > «Настройки» > включить «Ограничение байтов на строку» (в противном случае количество байтов на строку зависит от ширины экрана)
    3. «Параметры »> «Настройки» > «Измените шестнадцатеричные цвета» по мере необходимости (я изменил последний на черный, чтобы сделать его читаемым).

ВхД

  • Это инструмент для Windows, но он отлично работает в Wine.
  • Это было менее полезно, чем wxHexEditor:
    • Не выделяет различия между файлами
    • Обрабатывает различия байт за байтом
    • Обнаруживает различия под курсором для каждого файла, что означает, что если вы щелкнете курсором в другом месте, он будет сравнивать разные места в каждом файле.
  • Чтобы сравнить файлы:
    1. Анализ > Сравнение данных > Сравнить
    2. Анализ > Сравнение данных > Следующее отличие

ImHex

  • Каким-то образом этот оказался даже хуже, чем HxD:

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

    По крайней мере, он выделяет большие разделы изменений (а не просто побайтно), как HxD. Но в целом ничего не предлагает по сравнению с wxHexEditor.

  • Чтобы сравнить файлы:

    1. Вид > Различие

Гидра

  • Ghidra немного отличается, так как это скорее инструмент обратного проектирования, чем шестнадцатеричный редактор, и он показывает только один байт в строке, поэтому я поставил его последним.
  • Чтобы сравнить файлы:
    1. Создать новый проект
    2. Импортировать файлы в проект
    3. Дважды щелкните файл, чтобы открыть его в CodeBrowser.
    4. Пропустить анализ при появлении запроса
    5. Инструменты > Отличия программ
    6. Do Differences On > отменить выбор всего, кроме байтов
    7. Вы также можете перейти в «Окно» > «Байты» , чтобы увидеть более типичный вид шестнадцатеричного редактора, но он будет отображать только один файл за раз.