获取文件哈希值 您所在的位置:网站首页 为什么病毒变异这么快呢 获取文件哈希值

获取文件哈希值

2024-07-15 00:28| 来源: 网络整理| 查看: 265

3bf1625b851531d40b30d80cf7790e4a.png

今天分享的知识,是关于杀毒软件,关于病毒库、特征码技术。

53925293806b64bbab3e1fe32aec50f8.png

Ty2y杀毒要研究的杀毒软件是:Ty2y杀毒,这是一款小众的、功能不错的、而且开源的国产杀毒软件。

506c70fed6f9ed81e889899e86b23d35.png

在使用它进行文件病毒扫描时,会发现扫描速度是很快的。

1f0f55920d08437d5433cc0b37ac2368.png

软件是开源的,那么我们可以很方便的从源码中了解杀毒软件的各种功能。病毒扫描原理Ty2y杀毒的特征码规则是:哈希值(PE文件的节大小+节的哈希值)+病毒名。注:哈希值类似于MD5。

4eb5d0e42933855ef48c39aaec07529d.png

杀毒扫描的原理是:打开文件,获取文件的所有节,并逐一匹配所有特征码,以检测病毒。Ty2y这款软件病毒库特征码量达200多万。百万级的特征码,是如何做到快速匹配检测的呢?从源码分析可以知道:1、特征码分别存放在16个病毒库中(1-9、a-f).sig。

398aecb4e0449876597adf3d41965af3.png

打开这些文件,会发现一个特点,即:文件名,与病毒库中特征码首字母是一致的:

939bc6b7d6c2adc687b885a732cbe360.png

再结合软件源码:

62bd1988f1f372d932ef481b475e84a9.png

1f68c6933c25570ad55bddce9149ca1a.png

两者结合可以发现关键信息:1、扫描时,先获取文件每个节的特征(节大小+节的哈希值),再进行一次哈希,即得到一个类似MD5的字符串。 2、对比此哈希值字符串首字母,首字母范围是0-9,A-F。根据首字母,分别与分隔开的病毒库去匹配。为什么这样做?就是为了提高扫描速度。原本200万的特征码,需要匹配200万次。进行首字母分隔后,只需要匹配200/16,大约12万次。相当于效率提高了16倍,这是个非常不错、很值得借鉴的提效思路。这就是Ty2y杀毒扫描速度很快的秘密。 其实,依据这个思路,还可以更进一步,将16个文件再次分隔,匹配时,先对比前两个字母。这样扫描效率还可以进一步大幅提升。原创文章,不限转载。欢迎分享学习,大家一起进步。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有