2017年2月13日
摘要: 这个cli_untgz函数,是用来解压CVD文件的。 那么,就刚先搞清楚CVD文件的功能作用。下了源码,我们会发现,没有前面提到的*.mdb或者*.hbd等病毒签名文件。原因就是,那些文件都是由CVD文件解压生成的,是的,CVD是个病毒签名压缩文件。(下面是daily.cvd解压后的) CVD文件, 阅读全文
posted @ 2017-02-13 13:45 sunylat 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 之前用SourceInsight静态分析了ClamAV引擎源码,现在打算开始动态研究下。不过出师不利,一开始就遇到纠结的问题,能力还有待提高。 从官网下了一个VS2005工程的源码包(http://download.csdn.net/detail/betabin/4219529)。 首先是解压后,l 阅读全文
posted @ 2017-02-13 13:44 sunylat 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 搜查到一份详细的ClamAV病毒文件格式资料(http://download.csdn.net/detail/betabin/4215909),英文版,国内这资料不多的感觉。 重点看了下有关PE的病毒文件格式,就是*.mdb文件。还有之前郁闷用途的*.cvd文件。 就粘贴下刚刚的一点笔记: 1、介绍 阅读全文
posted @ 2017-02-13 13:42 sunylat 阅读(994) 评论(0) 推荐(0) 编辑
摘要: (老爸回家,就放开心和他到处走,累……趁其和老妈聊天之际,再继续看代码) 参数选项,加载病毒都浏览得七七八八了,这里就贴个简单的函数注释吧。哈哈。 代码注释如下: 原文:http://blog.csdn.net/betabin/article/details/7435170 阅读全文
posted @ 2017-02-13 13:41 sunylat 阅读(373) 评论(0) 推荐(0) 编辑
摘要: 这近2000行的代码,要是没有Source Insight,都不知道怎么看下去。跟着跟着来到了PE文件查杀的地方,发现前面都中规中矩地进行PE属性检查,中间一段开始扫描每个区块,然后和特征库的size对比扫描查毒。再后面,加了对一些流行病毒的特定查杀。(这个比较晕。) 代码注释如下(代码过长,可能有 阅读全文
posted @ 2017-02-13 13:40 sunylat 阅读(510) 评论(0) 推荐(0) 编辑
摘要: 今晚继续浏览ClamAV代码,挖掘到了cli_magic_scandesc函数,发现前面包装了很多次扫描函数,这里就是最后一层的感觉。一些扫描限制判断加上文件类型判断,采用不同扫描函数处理。 (PS:发现这些函数个头都很大,虽然按着功能分段好理解,但是书本不是说一个函数一个功能模块么?难道是不实际, 阅读全文
posted @ 2017-02-13 13:38 sunylat 阅读(434) 评论(0) 推荐(0) 编辑
摘要: 吃饱饭继续浏览Manager.c的scanmanager函数,这个函数的功能吧,暂时理解如下。 接收一个命令行参数(经过处理的optstruct结构指针)。 然后根据选项判断文件类型种类,还有一些扫描选项。看到了AC-Only选项,可是没有BM-Only选项,不解。然后就进行了病毒库的加载和引擎的初 阅读全文
posted @ 2017-02-13 13:36 sunylat 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 1、http://wiki.ubuntu.org.cn/index.php?title=ClamAV&variant=zh-cn Ubuntu的wiki下对ClamAV的大致介绍,包括使用。 2、http://download.csdn.net/detail/betabin/4215909 资源页下 阅读全文
posted @ 2017-02-13 13:33 sunylat 阅读(700) 评论(0) 推荐(0) 编辑
摘要: 就简单给代码加上些注释,方便理解。第一次浏览,应该会有不正确的理解。后面会继续学习修改。 文件:clamscan\clamscan.c 代码如下: 原文:http://blog.csdn.net/betabin/article/details/7421910 阅读全文
posted @ 2017-02-13 13:32 sunylat 阅读(924) 评论(0) 推荐(0) 编辑
摘要: 不知道是对还是错,一开始就上手学习ClamAV,享受被虐的过程吧。 发现ClamAV的官网也很少资料,搜商还有待加强,大概翻阅了example的源代码,明白了其查毒的大概方式(BM和AC算法匹配特征码)。但是文件巨大,也没找到个合适的介绍资料。 下周计划就先学学BM算法和AC算法,还有翻翻ClamA 阅读全文
posted @ 2017-02-13 13:30 sunylat 阅读(1661) 评论(0) 推荐(0) 编辑
摘要: 设备ID(device id)是Syncthing最重要的参数之一,所有节点的发现、连接等操作,全部是基于这个设备ID!对于已经建立起来的P2P网络,保持重要节点的设备ID唯一性是非常重要的!!!!那么是否Syncthing也能始终保持设备ID的唯一性?可以,不过需要我们自己配置一下!!下面就是能够 阅读全文
posted @ 2017-02-13 12:12 sunylat 阅读(1970) 评论(1) 推荐(0) 编辑