4

Знаете ли вы, что Unix/Linux diff(1) работает? Он показывает, какие строки были добавлены и удалены между двумя текстовыми файлами, и показывает его в удобочитаемой форме. Мне нужен такой же инструмент для двоичных файлов - за исключением работы с последовательностями байтов, а не текстовыми строками. Это все еще должно произвести читабельный вывод (таким образом, в шестнадцатеричном формате).

Обратите внимание, что мне не нужен cmp -l который выводит двоичные файлы побайтно и не может обнаружить вставки и удаления. Обратите внимание, что мне не нужны xdelta или bsdiff которые выдают нечитаемый человеком результат. На самом деле, я немного удивлен, что ни xdelta ни bsdiff предлагают какое-то удобочитаемое представление для выпускаемых ими патчей. ИМХО, такая опция должна быть сначала, а только потом возможность создавать эффективный бинарный патч. В конце концов, как авторы этих инструментов проверяют их правильную работу? И разве они не думают, что пользователи тоже захотят их проверить, чтобы убедиться, что они действительно производят вменяемые и минимальные патчи?

1 ответ1

0

Я нашел JDIFF. Вероятно, этот инструмент вы ищете.

JDIFF - это программа, которая выводит различия между двумя двоичными файлами, либо в двоичном формате, либо в удобочитаемом для человека формате (подробный или обобщенный). Затем JPATCH позволяет восстановить второй файл из первого файла.

Обновить

Похоже, jdiff не является патчем сохранения в удобочитаемом формате. Он показывает только резюме в удобочитаемом формате :(

Я исследовал многие инструменты и обнаружил, что только инструменты взломщика могут быть полезны для этой цели: так удобочитаемый формат .XCK и .Расширения файлов CRK . инструменты для этих расширений:

для использования патча:

  1. Cracker.Exe от угловых крекеров
  2. патч-xck.rb

для создания патча:

  1. c2c (сравните с трещиной), например: C2C от Nimnull, C2C/2 от SkullC0DEr, MC2C от MaD k0DeR.
  2. Ь

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .