计算机病毒电子5-2-1杀毒软件案例剖析.pptVIP

  • 5
  • 0
  • 约4.92千字
  • 约 23页
  • 2020-03-09 发布于辽宁
  • 举报

计算机病毒电子5-2-1杀毒软件案例剖析.ppt

Virus 计算机病毒与防治 重庆电子工程职业学院 计算机病毒与防治课程小组 教学单元5-2杀毒软件案例剖析 杀毒参数自动分析程序ANYCOM分析 KV300杀毒软件的构成分析 全自动杀毒实用程序AUTOKV剖析 第一讲 杀毒软件案例剖析 计算机病毒与防治课程小组 6.5杀毒软件案例剖析 所有的反病毒软件都有一个主运行文件,这个文件至少要包含搜索文件部分和匹配病毒特征串部分以及常见多发性病毒的杀毒部分。 早期的反病毒软件甚至来个五合一,在一个主运行文件中就包含了搜索文件部分、匹配病毒特征串部分、杀毒部分、病毒特征串库、杀毒关键性参数库这五个部分。 后来由于新病毒层出不穷,为加快软件升级速度,加强软件开放性,很多软件将病毒特征串库、杀毒关键性参数库单独做成文件,这种文件有的做得相当简易开放,用户可以直接向其中添加内容,增加自己软件的查毒或杀毒数量。 6.5.1杀毒软件KV300的构成 KV300的主要文件和主要功能如下: KV300.EXE:主运行文件。它具有搜索文件部分、匹配病毒特征串部分和杀毒部分,对常见多发性病毒来说,它是五合一的。 VIRUS.DAT:新病毒的特征串库文件。它就是病毒特征串库,用户可按KV300的病毒特征串规范向其中添加新病毒特征串,从而使查病毒数量不断增加。 KILL2658.VVV:KV300里还有几个这样扩展名为VVV的杀毒代码文件,如KILLBOOT.VVV、K-VTECH.VVV。这些文件是根据新发现病毒的杀毒关键性参数,利用KV300的编程接口编写的,在一定程度上,这些扩展名为VVV的文件集合可以理解为是杀毒部分与杀毒关键性参数库的结合体。 6.5.2杀毒参数自动分析程序ANYCOM分析 普通文件型病毒的分析是有规律可循的,我们完全可以编写出杀毒关键性参数自动分析程序,免除每遇到一种新病毒,都要手工分析的麻烦。 下面的Turbo C2.0程序——ANYCOM,可以自动分析后附式COM文件型病毒的杀毒关键性参数,并将它们存入VIRINFO.DAT文件中(后附式病毒是指病毒代码附加到宿主程序最后,并修改宿主程序的第一条指令为跳转或调用指令,使程序的首指令仍然为病毒的第一条指令),可以供下文的全自动杀毒程序AUTOKV使用。 在此举例起到抛砖引玉的作用,读懂了这个程序,就不难编写出其它类文件型病毒的自动分析程序。 计算机病毒与防治课程小组 6.5.2杀毒参数自动分析程序ANYCOM分析 使用ANYCOM时,用未染毒的诱饵文件作为它的第一个参数(文件名1),用染毒诱饵文件作为它的第二个参数(文件名2),同时应保证染毒诱饵文件的长度不超过32K(若超过,请将程序中COM_LEN值相应增大)。为确保分析结果,应保证在执行ANYCOM时,内存是无毒的,以免被病毒欺骗。 /*Program ANYCOM.C 功能: 全自动分析后附式COM文件型病毒杀毒关键性参数 执行格式:ANYCOM文件名1文件名2*/ #define COM_LEN 0x8000 /*本程序所分析染毒文件的最大长度*/ #define COMHEAD 50 /*病毒可能隐藏代码的最大长度*/ # define VCODE_LEN 10 /*病毒特征串长度*/ 6.5.2杀毒参数自动分析程序ANYCOM分析 #include “stdio.h” FILE *fp1,*fp2,*fp3; unsigned int fp1_len,fp2_len,i,j; unsigned char nvcom[COMHEAD],vcom[COM_LEN]; struct comvir_struct { unsigned int vir_len; /*病毒的长度*/ unsigned char vcode[VCODE_LEN]; /*病毒的特征搜索字符串*/ unsigned int mov_len; /*原COM文件头的代码被病毒所隐藏的字节数*/ unsigned int mov_off; /*病毒所隐藏的代码相对于染毒文件末尾的偏移值*/ }comVIR; 6.5.2杀毒参数自动分析程序ANYCOM分析 main(int argc,char * argv[]) {fp1=fopen(argv[1],”rb+”); i=fread(nvcom,COMHEAD,1,fp1); nvcom[0]=0xe9; fseek(fp1,0,SEEK_END); fp1_len=ftell(fp1); fp2=fopen(argv[2],”rb+”); i=fread(vcom,COMHEAD,1,fp2); fseek(fp2,0,SEEK_END); fp2_len=ftell(fp2);

文档评论(0)

1亿VIP精品文档

相关文档