使用信息熵判断固件是否是同一厂商同一系列的产品具有较高的参考价值:
首先来看看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:
return string
def gzip(self, data, truncate=True):
'''
基于zli

固件信息熵的计算对于识别同一厂商同一系列产品具有重要意义。本文以D-Link的DIR-505和DAP-1320路由器固件为例,介绍了两种计算方法:gzip压缩比和香农熵公式。通过比较压缩前后的数据,以及统计字符频率,来评估固件的熵值分布。
最低0.47元/天 解锁文章
5148

被折叠的 条评论
为什么被折叠?



