在各位大侠的帮助下(以前多次在论坛求教过开发过程中的一些技术难题),现在我业余创作的一程序"通用杀毒软件"开始测试,请大侠们继续指导帮助,小弟多谢了。一款可以自已定制病毒特征库的杀毒软件,可以用此软件变种为任意的病毒专杀工具。界面及病毒特征库均可自行定制编辑,支持最大100个线程扫描文件,杀毒方式可自行设定,支持对每个病毒特征码设置杀毒方式。上传在
http://download.csdn.net/source/1912150

解决方案 »

  1.   

    本程序的流程是这样的:
        一个主线程遍历指定目录指定文件扩展名,每发现一个文件将其加入队列中,同时开辟设定数量的比对线程从队列是取文件,比对线程取出文件名后打开文件将文件内容导入内存,同时用病毒库中的全部特征码依次同文件内容比对,比对是基于内存的,即如果文件内容中存在有病毒库中的任一特征码,则认为文件染毒,同时记住病毒码在文件中的位置,杀毒时,根据此病毒特征码的设置,可以执行如:删除文件、清除文件染毒字节段、将染毒字节段用空格替换、将染毒字节段用0x00替换,将染毒字节段用指定字串替换等。
        这个程序应该比较适合作为病毒专杀工具,如一些基于网页木马、CAD的病毒用到了一些诸如加载的代码,将这些明显属于病毒的内容作为特征码编辑到你的特征库中,用上面的流程是可以发现的,我的这个程序暂实没有考虑病毒加壳、病毒行为等因素,本质上可以认为是一个多线程文件比对查找和更改工具了。X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*   我试了一下,将上面测试用的测试病毒特征放在WORD文本中,用毒霸等杀毒软件扫描不到,
    放在txt文件中不增加任何其它内容可以找到,但特征前后增中内容后就找不到了,证明毒霸等杀毒软件的扫描机制还是有欠缺的.我的程序不存在这种缺陷的。
      

  2.   

    本程序的流程是这样的: 
        一个主线程遍历指定目录指定文件扩展名,每发现一个文件将其加入队列中,同时开辟设定数量的比对线程从队列是取文件,比对线程取出文件名后打开文件将文件内容导入内存,同时用病毒库中的全部特征码依次同文件内容比对,比对是基于内存的,即如果文件内容中存在有病毒库中的任一特征码,则认为文件染毒,同时记住病毒码在文件中的位置,杀毒时,根据此病毒特征码的设置,可以执行如:删除文件、清除文件染毒字节段、将染毒字节段用空格替换、将染毒字节段用0x00替换,将染毒字节段用指定字串替换等。 
        这个程序应该比较适合作为病毒专杀工具,如一些基于网页木马、CAD的病毒用到了一些诸如加载的代码,将这些明显属于病毒的内容作为特征码编辑到你的特征库中,用上面的流程是可以发现的,我的这个程序暂实没有考虑病毒加壳、病毒行为等因素,本质上可以认为是一个多线程文件比对查找和更改工具了。 X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*   我试了一下,将上面测试用的测试病毒特征放在WORD文本中,用毒霸等杀毒软件扫描不到, 
    放在txt文件中不增加任何其它内容可以找到,但特征前后增中内容后就找不到了,证明毒霸等杀毒软件的扫描机制还是有欠缺的.我的程序不存在这种缺陷的。
    =========
    学习了 谢谢。
      

  3.   

    比对是基于内存的
    ==========
    呵呵 惭愧下,我还是不明白如何基于内存对比?
    如果按二进制比较的话,我觉得效率不太高,如果基于字符串的话,也不太好
    能不能再请教下?如何基于内存?
    我也上网搜了下 没有看到合适的资料?
    我用的关键字是 内存对比  等等 
    望LZ指点一二,谢谢,如果不方便就算了,也谢谢LZ分享自己的思路。
      

  4.   

    一款可以自已定制病毒特征库的杀毒软件,可以用此软件变种为任意的病毒专杀工具。界面及病毒特征库均可自行定制编辑,支持最大100个线程扫描文件,杀毒方式可自行设定,支持对每一种病毒特征码设置一种杀毒方式。采用文件二进制比对的方式查杀电脑上的文件,可以对电脑文件中含有病毒特征码的文件执行删除文件、清除文件病毒码字节、用空格替换文件病毒码字节、用0x00替换文件病毒码字节,用指定字符替换文件病毒码字节等等杀毒方式。病毒特征码可以资源共享。
    目前版本的实质为:多线程文件内容比对查找及修改替换工具。程序未加入主动防御、恶意行为拦截等功能,程序特别适合作为病毒专杀工具,可以对程序作小的改动即可实现变种。本程序规模不大,易读懂,程序全为业余书写,几乎没有经过什么测试,可能存在许多错误。软件在www.csdn.net首页的“创新无极限,软件你来选”中申报成功(开源类),请下载了源码的用户在2010年1月1日到2010年1月21日期间投此软件一票,以示对作者开源的支持。
    作者开源的另一作品“文本语音朗读组件”全套VC++源码,也欢迎用户下载并投作者一票。你可以对上面两款软件源码重新改进形成功能各异的属于你的作品。作者已没有时间对上述程序进行深度开发和升级,只是希望如果源码中有代码可重用代码段或设计理念能被你使用,就是最大的支持了
    希望你的新程序也能开源和免费共享啊!
     
      
    作者的资源下载地址:http://mr_luowei2009.download.csdn.net/ 
      

  5.   

    软件在www.csdn.net首页的“创新无极限,软件你来选”中申报成功(开源类),请下载了源码的用户在2010年1月1日到2010年1月21日期间投此软件一票,以示对作者开源的支持。 
    作者开源的另一作品“文本语音朗读组件”全套VC++源码,也欢迎用户下载并投作者一票。你可以对上面两款软件源码重新改进形成功能各异的属于你的作品。