Утилиты или библиотеки для поиска наиболее подходящего двоичного файла

Я хотел бы иметь возможность сравнить двоичный файл X с каталогом других двоичных файлов и найти, какой другой файл больше всего похож на X. Природа данных такова, что идентичные фрагменты будут существовать между файлами, но, возможно, смещены в местоположении . Все файлы имеют размер 1 МБ, а их около 200. Я хотел бы иметь что-нибудь достаточно быстрое, чтобы проанализировать их за несколько минут или меньше на современном настольном компьютере. Я немного погуглил и нашел несколько разных двоичных утилит сравнения, но ни одна из них не кажется подходящей для моего приложения.

Например, есть bsdiff, который выглядит так, как будто он создает какой-то файл патча, оптимизированный по размеру. Или vbindiff, который просто отображает различия графически, но на самом деле это не помогает мне понять, похож ли один файл на X больше, чем на другой.

Если нет инструмента, который я мог бы использовать непосредственно для этой цели, есть ли хорошая библиотека, которую кто-то мог бы порекомендовать для написания моей собственной утилиты? Python был бы предпочтительнее, но я гибкий.


person peepsalot    schedule 14.01.2010    source источник


Ответы (1)


Вот простой скрипт Perl, который более или менее пытается сделать именно это.

Изменить: также посмотрите следующий поток stackoverflow.

person ChristopheD    schedule 14.01.2010