让我从一些背景开始。查找两个二进制文件中的匹配序列
今天早上我们的一位用户报告说,Testuff的安装文件被CA病毒感染了病毒。确信这是一个误报,我查看了网络,发现另一个程序(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库或其他语言可以做到这一点? 解决问题的方法也完全不同。