Windows蓝屏工具

本文介绍了一段C++代码,该代码利用Windows API在Dev-C++环境下编译并通过,能够在Win7和Win10系统上触发蓝屏。通过获取并调用ntdll.dll库中的函数,程序能够模拟蓝屏错误码,实现系统强制关闭。请注意,此代码仅用于技术探讨,不适合实际应用。
摘要由CSDN通过智能技术生成
//Dev-C++ 编译通过
//win7 win10测试成功
#include <stdio.h>
#include <windows.h>


typedef enum _HARDERROR_RESPONSE_OPTION {
OptionAbortRetryIgnore,
OptionOk,
OptionOkCancel,
OptionRetryCancel,
OptionYesNo,
OptionYesNoCancel,
OptionShutdownSystem
} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION;




typedef enum _HARDERROR_RESPONSE {
ResponseReturnToCaller,
ResponseNotHandled,
ResponseAbort,
ResponseCancel,
ResponseIgnore,
ResponseNo,
ResponseOk,
ResponseRetry,
ResponseYes
} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE;


typedef struct _UNICODE_STRING {
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING, *PUNICODE_STRING;
//-------------------------------------
typedef void (__stdcall *ER)(ULONG, ULONG, PUNICODE_STRING, PVOID, HARDERROR_RESPONSE_OPTION, OUT PHARDERROR_RESPONSE);
typedef BOOL (__stdcall *PR)(ULONG, BOOL, BOOL, PBOOLEAN);




//------------------------------------


ER NtRaiseHardError;
PR RtlAdjustPrivilege;


const ULONG SE_DEBUG_PRIVILEGE = 20;
const ULONG SE_SHUTDOWN_PRIVILEGE = 19;


void CallBlueScreen(ULONG ErrorCode) {//Error为你想要的蓝屏错误码
BOOLEAN B;
RtlAdjustPrivilege = (PR)GetProcAddress(GetModuleHandle("ntdll.dll"), "RtlAdjustPrivilege");
NtRaiseHardError = (ER)GetProcAddress(GetModuleHandle("ntdll.dll"), "NtRaiseHardError");
RtlAdjustPrivilege(SE_DEBUG_PRIVILEGE, TRUE, FALSE, &B);
RtlAdjustPrivilege(SE_SHUTDOWN_PRIVILEGE, TRUE, FALSE, &B);
HARDERROR_RESPONSE OR;
OR = ResponseYes;
NtRaiseHardError(ErrorCode, 0, 0, 0, OptionShutdownSystem, &OR);
}
int main() {
CallBlueScreen(0xc0000139);//括号内为你想要的蓝屏错误码
}




这个蓝屏错误码可以自己改(你问在哪里?)在代码段的结尾

只适合整蛊😂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值