今天试着通过c语言的文件操作实现自我复制,没想到还真成功了。哈哈,编病毒去了。
- #include <stdio.h>
- #include <conio.h>
- #define N 10
- void main(int argc,char *argv[])
- {
- FILE *fp;
- FILE *out;
- char name[]="hahaa.exe";
- if((fp=fopen(argv[0],"rb"))==NULL) //打开自己
- {
- printf("hehe error");
- getch();
- }
- for(int j=0;j<N;++j)
- {
- name[3]++;
- name[4]='a';
- for(int i=0;i<N;++i)
- {
- name[4]++;
- rewind(fp);
- if((out=fopen(name,"wb"))==NULL) //创建并打开目标文件
- continue;
- while(!feof(fp))
- putc(getc(fp),out); //真正有用的就这一句 呵呵
- fclose(out);
- }
- }
- fclose(fp);
- printf("enjoy");
- getch();
- }