少し背景から始めましょう。
今朝、私たちのユーザーの 1 人が、Testuff のセットアップ ファイルが CA アンチウイルスによってウイルスに感染していると報告されたと報告しました。これは誤検知だと確信して Web を調べたところ、別のプログラム (SpyBot) のユーザーが同じ問題を報告していることがわかりました。
さて、実際の質問です。
アンチウイルスがファイル内の特定のバイナリ署名を探していると仮定すると、両方のファイルで一致するシーケンスを見つけて、セットアップ スクリプトを微調整してそのシーケンスが表示されないようにする方法を見つけたいと思います。
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または別の言語用のより良いライブラリはありますか? 問題に取り組むためのまったく異なる方法も歓迎されます。