使用信息熵判断固件是否是同一厂商同一系列的产品具有较高的参考价值:
首先来看看D-Link路由器固件家族DIR-505和DAP-1320熵值分布图:
信息熵计算公式:
实际上计算固件的信息熵值的方式有两种:
首先上代码看看:
if use_zlib:
algorithm = gzip #gzip信息熵分析方法
else:
algorithm = shannon #Shannon香侬熵分析方法
def str2bytes(string):
'''
用于Python2和Python3字符串之间的交叉兼容性。
'''
if isinstance(string, type('')) and PY_MAJOR_VERSION > 2:
return bytes(string, 'latin1')
else