求大神们轻喷……
0x0
调试了好几个晚上,在茫茫汇编代码里,在无穷无尽的各种结构体里,太容易绕晕了,一个结构体套一个结构体,一个指针一个函数都容易乱指地址,看着看着就晕乎了……
0x1简介
在这4个病毒库中:
Pset.db主要是病毒名称。
Prop.db包含了特征码和特征字符串等
Hwl、troj两个库,还真没用到……
但是,不要以为病毒库这样就结束了,在文件libvxf开头的dll文件中,依然发现了病毒匹配判断的相关函数。
下图:病毒库header部分的结构体如下,如果有未知的,就当看不到看不到吧……
Ps:有趣的一点是,在火绒3.x年代,有处代码写的相对不严谨,虽然在4.x时代已经修改了。这处代码如下:malloc后直接去使用了,而没有验证申请的内存是否成功……
经过调试,我发现病毒库中命中conficker的特征有4条,如下图:
其中第一条匹配数据库prop.db内容:prop是病毒特征库。
通过上图,我们发现,火绒在判断是否是病毒的时候一种方法是,采用了多段内容间字符串匹配,来预防误 。如果pset中的索引能匹配到3条,则可以确定是病毒,并且 毒,然后通过pset进行确认病毒名称。
如此,火绒在某些病毒匹配过程中,会依靠特定的字符串进行匹配。既然如此,我们修改一下被检测到的字符串,再来测试,如下图:(右侧是修改后的)
再测试一个Linux病毒。
例子2:

其实从这些例子中,我们不难发现,特征码匹配的方式相对更容易绕过,这完全是依靠病毒库大量的数据进行安全防护……
当然,这里的测试不够全面,还有一些沙盒测试,其他匹配没有测试到。不可能方方面面全面的总结火绒。
0x4总结
火绒作为新兴的杀毒软件,默默耕耘着自己的一片天地,从火绒3.x版本到现在4.x,火绒的反调试技术成熟了许多。但是由于其容量轻便的原因,导致其病毒库容量较小,杀毒的范围和能力有限。
相关资源:unity光晕插件UnityAsset-GlowEffect(MobileFriendly)v1.2.3…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!