Позвольте мне начать с немного фона.Найти совпадающие последовательности в двух бинарных файлах
Сегодня утром один из наших пользователей сообщил, что установочный файл Testuff был зарегистрирован как зараженный вирусом антивирусом CA. Уверенный, что это был ложный позитив, я посмотрел в Интернете и обнаружил, что пользователи другой программы (SpyBot) сообщили об одной и той же проблеме.
A сейчас, для фактического вопроса.
Предполагая, что антивирус ищет конкретную двоичную подпись в файле, я хотел бы найти соответствующие последовательности в обоих файлах и, надеюсь, найти способ настройки скрипта установки, чтобы эта последовательность не появлялась.
Я пробовал следующее в Python, но он работает уже давно, и мне было интересно, есть ли лучший или более быстрый способ.
from difflib import SequenceMatcher
spybot = open("spybotsd160.exe", "rb").read()
testuff = open("TestuffSetup.exe", "rb").read()
s = SequenceMatcher(None, spybot, testuff)
print s.find_longest_match(0, len(spybot), 0, len(testuff))
Есть ли лучшая библиотека для Python или для другого языка, который может это сделать? Совершенно другой способ решения проблемы также приветствуется.