Сравните двоичные файлы, используя алгоритмы выравнивания.

Это инструмент для бинарных различий.
Инструмент способен отображать два двоичных файла рядом, так что аналогичные места будут в одном и том же положении с обеих сторон, и байты, отсутствующие с одной стороны, проладились. Он использует алгоритмы биоинформатики из библиотеки «WFA2» или rust-bio (обычно используемой для выравнивания последовательности ДНК) для этого. Диалоговые окна для конфигурации выполняются с использованием cursive .
[ , ] , 0 Выполните biodiff file_a file_b в терминале, и вас следует отбрасывать в шестнадцатеричный вид, показывающий два файла рядом. Первоначально файлы не будут выровнены и отображаются без пробелов с каждой стороны. Перемещая курсор и виды в место, где левая и правая сторона похожа и нажимает F3 (или 3 ), они могут быть выровнены. Это сделано блоком по блоку в стандартной конфигурации, что означает, что байты вблизи курсора выровнены первыми и дальнейшими выровненными блоками, отображаются позже с обеих сторон.
Также возможно выполнить глобальное выравнивание (из всего файлов одновременно), изменив настройки с использованием F4 (обязательно проконсультируйтесь с помощью параметров). Как правило, поскольку это занимает квадратное время и пространство, глобальное выравнивание не будет хорошо работать для файлов, более 64 КБ. Существует также алгоритм «полосы», который быстрее, но немного менее точный.
Вы также можете выбрать область в одном файле, и, нажав F3, алгоритм выравнивания будет выполнять полуглобальное выравнивание, используя выбранные байты в качестве шаблона, чтобы найти соответствующие байты в другом файле.
Также можно распечатать DIFF непосредственно на терминал, используя biodiff --print file_a file_b . В этом случае (если файлы достаточно малы, чтобы не занять слишком много времени), вы можете добавить флаг -gglobal флаг, чтобы сделать глобальное выравнивание (в отличие от блока, который лучше подходит для интерактивного использования).
Если вам повезет, в вашем основном менеджере пакетов будет доступен пакет. Должны быть загружаемые двоичные файлы для некоторых средах на странице выпусков. В качестве альтернативы, вы также можете установить это с помощью cargo , cargo install biodiff . Вам понадобится Cmake, установленная для компиляции wfa2 . Обратите внимание, что в случае использования Windows вам нужно использовать цель x86_64-unknown-linux-gnu если вы хотите получить поддержку wfa2 .
Вы также можете выполнить непосредственно, используя код из этого репозитория, выполнив cargo run --release -- file_a file_b . Обратите внимание, что файлы конфигурации гарантированно остаются совместимыми между тегами выпусков.
По умолчанию настройки хранятся в каталоге пользователя, специфичной для конкретной платформы. Чтобы использовать пользовательский каталог настроек, установите переменную среды BIODIFF_CONFIG_DIR на желаемый путь каталога перед запуском biodiff . Если каталог не существует, он будет создан автоматически.
Этот проект лицензирован по лицензии MIT.