Lassen Sie mich mit ein wenig Hintergrund beginnen.Finden Sie passende Sequenzen in zwei Binärdateien
Heute morgen berichtete einer unserer Benutzer, dass die Setup-Datei von Testuff vom CA Antivirus als mit einem Virus infiziert gemeldet wurde. In der Gewissheit, dass dies eine falsche positive war, habe ich im Internet gesucht und festgestellt, dass Benutzer eines anderen Programms (SpyBot) das gleiche Problem gemeldet haben.
A jetzt, für die eigentliche Frage.
Vorausgesetzt, das Antivirenprogramm sucht nach einer bestimmten Binärsignatur in der Datei, würde ich gerne die passenden Sequenzen in beiden Dateien finden und hoffentlich eine Möglichkeit finden, das Setup-Skript zu optimieren, um zu verhindern, dass diese Sequenz erscheint.
Ich habe das folgende in Python versucht, aber es läuft seit einer langen Zeit jetzt und ich fragte mich, ob es einen besseren oder schnelleren Weg gab.
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))
Gibt es eine bessere Bibliothek für Python oder für eine andere Sprache, die das tun kann? Eine andere Möglichkeit, das Problem anzugehen, ist ebenfalls willkommen.