这篇文章是我第一次在卡饭发表,原来一直都是看大家在发帖,这次本着菜鸟试飞的态度也试着发一次,但是本人技术有限,文中所提到的测试可能技术含量不高,所以还请大家多多包含小弟!
我原来使用了一段时间的360杀毒,但是后来因为学校的网太复杂了,没办法换了卡巴斯基安全部队,心疼啊,花了我160两银子呢。这是前提,我从360->换到卡巴。昨天一个同学的电脑坏掉了,给他检测的时候我用了一断杀毒软件的测试代码,这给了我灵感。我打算用这段代码来进行杀毒软件的启发性能测试。
于是一个小小的蠕虫诞生了。
测试病毒原理如下:首先,在C、D、E、F、G盘下创建1.bat的隐藏文件,文件内部写入杀毒软件测试代码。并且母体程序对这些文件进行监视,若发现文件被杀掉,则进行补充,如此反复利用杀毒软件自身耗尽电脑资源。
病毒代码如下:
#include <stdio.h>
#include <windows.h>
int loop=67;
char exchange[68];
//把杀毒软件测试代码用ASCII的方式放在母体内,防止主程序被杀。
char virus[68]={88,53,79,33,80,37,64,65,80
,91,52,92,80,90,88,53,52,40,
80,94,41,55,67,67,41,55,125,36,
69,73,67,65,82,45,83,84,65,78,
68,65,82,68,45,65,78,84,73,86,
73,82,85,83,45,84,69,83,84,45,70
,73,76,69,33,36,72,43,72,42};
FILE *fp;
void write_virus()
{
//测试明文转换
for(loop=0;loop<68;loop++)
{
exchange[loop]=(char)virus[loop];
}
//写入感染文件内
for(loop=0;loop<68;loop++)
{
fputc(exchange[loop],fp);
}
fclose(fp);
}
void set_virus()
{
int firs=0,count=0;
while(firs<10)
{
//因为我只有5个盘,所以没做的那么恶心。
if((fp=fopen("c:\\1.dat","w+"))==NULL)//感染C盘
{
sleep(100);
}
else
{
write_virus();
SetFileAttributes("c:\\1.dat",FILE_ATTRIBUTE_HIDDEN);
++count;
}
if((fp=fopen("D:\\1.dat","w+"))==NULL) //感染D盘
{
sleep(100);
}
else
{
write_virus();
SetFileAttributes("D:\\1.dat",FILE_ATTRIBUTE_HIDDEN);
++count;
}
if((fp=fopen("E:\\1.dat","w+"))==NULL) //感染E盘
{
sleep(100);
}
else
{
write_virus();
SetFileAttributes("E:\\1.dat",FILE_ATTRIBUTE_HIDDEN);
++count;
}
if((fp=fopen("F:\\1.dat","w+"))==NULL) //感染F盘
{
sleep(100);
}
else
{
write_virus();
SetFileAttributes(":\\1.dat",FILE_ATTRIBUTE_HIDDEN);
++count;
}
if((fp=fopen("G:\\1.dat","w+"))==NULL) //感染G盘
{
sleep(100);
}
else
{
write_virus();
SetFileAttributes("G:\\1.dat",FILE_ATTRIBUTE_HIDDEN);
++count;
}
if(count==5)
{
break;
}
else
{
firs++;
}
}
}
int main()
{
set_virus();//创建感染文件
int check=1;
while(check)
{
//监视部分
if((fp=(fopen("C:\\1.dat","w+")))==NULL)
set_virus();
if((fp=(fopen("D:\\1.dat","w+")))==NULL)
set_virus();
if((fp=(fopen("E:\\1.dat","w+")))==NULL)
set_virus();
if((fp=(fopen("F:\\1.dat","w+")))==NULL)
set_virus();
if((fp=(fopen("G:\\1.dat","w+")))==NULL)
set_virus();
Sleep(100);
return 0;
}
}
编译运行结果。
检测效果
看到这里,360的杀毒表现的确令人兴奋。但是我们点击母体病毒的时候360并未报毒,下面我们对母体病毒进行直接扫描。
结果都是一样的,均未发现病毒。
下面我们换卡巴斯基,
直接干掉,不给运行的机会!
从这里我认为,360杀毒的杀毒能力确实很强,但是启发和虚拟做的不如老毛子的强悍。如果这里写进去的不是测试代码而是真正的病毒呢?那么后果可就不只是清理系统内这个测试程序建立的垃圾那么简单了。所以我希望,360在扫描启发方面加强。我支持国货,支持360!所以希望它更加的完善,强大。我的文笔不是很好,也就说道这里。小菜看过,大牛勿喷。欢迎指点,谢谢大家! |