Vim имеет встроенный инструмент сравнения, который может сравнивать произвольное количество файлов. Он также работает в Windows. Его можно найти по адресу http://vim.org.
Стандартная установка vim для windows включает xxd
, что позволяет видеть бинарные файлы как текст:
Так, например, если вы попробуете:
xxd xxd.exe
ты получишь:
0000000: 4d5a 9000 0300 0000 0400 0000 ffff 0000 MZ..............
0000010: b800 0000 0000 0000 4000 0000 0000 0000 ........@.......
0000020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000030: 0000 0000 0000 0000 0000 0000 d800 0000 ................
0000040: 0e1f ba0e 00b4 09cd 21b8 014c cd21 5468 ........!..L.!Th
0000050: 6973 2070 726f 6772 616d 2063 616e 6e6f is program canno
0000060: 7420 6265 2072 756e 2069 6e20 444f 5320 t be run in DOS
0000070: 6d6f 6465 2e0d 0d0a 2400 0000 0000 0000 mode....$.......
0000080: 6ba7 bec3 2fc6 d090 2fc6 d090 2fc6 d090 k.../.../.../...
так далее...
Таким образом, вы можете использовать xxd
для вывода ваших двоичных файлов в текстовые файлы:
xxd orig > orig.txt
xxd mod1 > mod1.txt
xxd mod2 > mod2.txt
Затем запустите vim в режиме сравнения:
vim -d orig mod1 mod2
И это даст вам что-то вроде этого:
![пример трехстороннего vimdiff](https://i.stack.imgur.com/1aDEW.png)
(Этот снимок экрана был взят из здесь и является не более чем иллюстрацией того, как будет выглядеть трехсторонний diff в VIM)
Все эти инструменты доступны в Windows, поэтому они должны решить вашу проблему.
Изменить:
После того, как вы объедините результаты xxd
, вы можете преобразовать шестнадцатеричный дамп в двоичный файл, используя xxd -r
:
xxd -r merged_xxd_file merged_binary_file
Дополнительные сведения и параметры можно найти на xxd
на справочной странице.
person
Nathan Fellman
schedule
30.12.2010