ClamAV
文章平均质量分 69
BetaBin
学
展开
-
ClamAV学习【1】——ClamAV流程
不知道是对还是错,一开始就上手学习ClamAV,享受被虐的过程吧。发现ClamAV的官网也很少资料,搜商还有待加强,大概翻阅了example的源代码,明白了其查毒的大概方式(BM和AC算法匹配特征码)。但是文件巨大,也没找到个合适的介绍资料。下周计划就先学学BM算法和AC算法,还有翻翻ClamAV源码,先摸索下大概框架结构,重点先PE文件的查毒吧。下面就贴上一张ClamAV的流程图。原创 2012-04-01 12:25:19 · 5580 阅读 · 1 评论 -
ClamAV学习【8】——64位Windows7下编译运行实践
之前用SourceInsight静态分析了ClamAV引擎源码,现在打算开始动态研究下。不过出师不利,一开始就遇到纠结的问题,能力还有待提高。从官网下了一个VS2005工程的源码包(http://download.csdn.net/detail/betabin/4219529)。首先是解压后,libclamav下的phishcheck.c文件被毛豆直接干掉了,里面应该有太多钓鱼特征码吧。然原创 2012-04-12 10:37:41 · 5459 阅读 · 2 评论 -
ClamAV学习【6】—— cli_load函数浏览
(老爸回家,就放开心和他到处走,累……趁其和老妈聊天之际,再继续看代码)参数选项,加载病毒都浏览得七七八八了,这里就贴个简单的函数注释吧。哈哈。代码注释如下:int cli_load(const char *filename, struct cl_engine **engine, unsigned int *signo, unsigned int options, struct c原创 2012-04-07 14:54:12 · 2889 阅读 · 0 评论 -
ClamAV学习【7】——病毒库文件格式学习
搜查到一份详细的ClamAV病毒文件格式资料(http://download.csdn.net/detail/betabin/4215909),英文版,国内这资料不多的感觉。重点看了下有关PE的病毒文件格式,就是*.mdb文件。还有之前郁闷用途的*.cvd文件。就粘贴下刚刚的一点笔记:1、介绍CVD的前512bytes是其文件头,格式如下:ClamAV-VDB:build ti原创 2012-04-11 10:26:45 · 6992 阅读 · 0 评论 -
ClamAV资料链接
1、http://wiki.ubuntu.org.cn/index.php?title=ClamAV&variant=zh-cnUbuntu的wiki下对ClamAV的大致介绍,包括使用。2、http://download.csdn.net/detail/betabin/4215909资源页下,一篇关于ClamAV所有病毒文件格式的描述。英文版,国内ClamAV的材料貌似不多。原创 2012-04-02 17:02:19 · 1970 阅读 · 0 评论 -
ClamAV学习【5】—— cli_scanpe函数浏览
这近2000行的代码,要是没有Source Insight,都不知道怎么看下去。跟着跟着来到了PE文件查杀的地方,发现前面都中规中矩地进行PE属性检查,中间一段开始扫描每个区块,然后和特征库的size对比扫描查毒。再后面,加了对一些流行病毒的特定查杀。(这个比较晕。)代码注释如下(代码过长,可能有些人加载较慢,请耐心等待……)://传说中的PE文件查杀int cli_scanpe(i原创 2012-04-05 08:55:29 · 6074 阅读 · 0 评论 -
ClamAV学习【3】——scanmanager函数浏览
吃饱饭继续浏览Manager.c的scanmanager函数,这个函数的功能吧,暂时理解如下。接收一个命令行参数(经过处理的optstruct结构指针)。然后根据选项判断文件类型种类,还有一些扫描选项。看到了AC-Only选项,可是没有BM-Only选项,不解。然后就进行了病毒库的加载和引擎的初始化,接着进行了一些扫描限制(扫描文件大小、数量、递归深度等)设定,还有扫描的文件类型(貌似上面原创 2012-04-02 19:53:33 · 3716 阅读 · 0 评论 -
ClamAV学习【4】——cli_magic_scandesc函数浏览
今晚继续浏览ClamAV代码,挖掘到了cli_magic_scandesc函数,发现前面包装了很多次扫描函数,这里就是最后一层的感觉。一些扫描限制判断加上文件类型判断,采用不同扫描函数处理。(PS:发现这些函数个头都很大,虽然按着功能分段好理解,但是书本不是说一个函数一个功能模块么?难道是不实际,还是理解错误?)代码分析如下://magic,说明这很神奇int cli_magic原创 2012-04-04 00:19:39 · 2671 阅读 · 0 评论 -
ClamAV学习【2】——clamscan入口函数浏览
就简单给代码加上些注释,方便理解。第一次浏览,应该会有不正确的理解。后面会继续学习修改。文件:clamscan\clamscan.c代码如下:int main(int argc, char **argv){ int ds, dms, ret; double mb; struct timeval t1, t2;#ifndef C_WINDOWS struct timezo原创 2012-04-02 16:56:12 · 3807 阅读 · 0 评论 -
ClamAV学习【9】——cvd文件解析及cli_untgz函数浏览
这个cli_untgz函数,是用来解压CVD文件的。那么,就刚先搞清楚CVD文件的功能作用。下了源码,我们会发现,没有前面提到的*.mdb或者*.hbd等病毒签名文件。原因就是,那些文件都是由CVD文件解压生成的,是的,CVD是个病毒签名压缩文件。(下面是daily.cvd解压后的)CVD文件,前512个bytes是一个特殊的头文件,在前面也提到过了(http://blog.csd原创 2012-04-13 11:05:53 · 5000 阅读 · 8 评论