Python使用模糊哈希值比较文件相似度

使用ssdeep工具来计算文件的模糊哈希值或分段哈希值,或者编写Python程序调用ssdeep提供的API函数来计算文件的模糊哈希值,模糊哈希值可以用来比较两个文件的相似百分比。这个工具在Windows平台安装比较麻烦,建议使用Linux操作系统,以Ubuntu为例,执行命令sudo BUILD_LIB=1 pip3 install ssdeep即可安装ssdeep和所有依赖包,当然在这之前或许还需要使用sudo apt-get install python3-pip命令先安装pip3工具。

>>> import ssdeep

>>> hash1 = ssdeep.hash('Also called fuzzy hashes, Ctph can match inputs that have homologies.')

>>> hash1

'3:AXGBicFlgVNhBGcL6wCrFQEv:AXGHsNhxLsr2C'

>>> hash2 = ssdeep.hash('Also called fuzzy hashes, CTPH can match inputs that have homologies.')

>>> hash2

'3:AXGBicFlIHBGcL6wCrFQEv:AXGH6xLsr2C'

>>> ssdeep.compare(hash1, hash2)              #比较两个哈希值的相似度

22

>>> import ssdeep

>>> s = ssdeep()

>>> s.hash_from_file(filename) 

对于某些恶意软件来说,可能会对自身进行加壳或加密,真正运行时再进行脱壳或解密,这样一来,会使得磁盘文件的哈希值和内存中脱壳或解密后进程的哈希值相差很大。因此,根据磁盘文件和其相应的进程之间模糊哈希值的相似度可以判断该文件是否包含自修改代码,并以此来判断其为恶意软件的可能性。

祝所有教师朋友节日快乐,不是教师的朋友也同乐!

温馨提示:单击文章顶部作者名字旁边浅蓝色的“Python小屋”进入公众号,关注后可以查看更多内容!

欢迎转发给您的朋友,或许这正是Ta需要的知识!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dongfuguo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值