求一段能立马让windows蓝屏的C\C++程序。

要求:只能运行在用户态不能是驱动什么的,也不能调用诸如D3D之类的库,也不能恶意破坏系统。

强制关掉winlogon.exe就行了

C++代码的话用system函数调用ntsd命令就行了

也可以用文件指针在启动表里写一个bat文件,一开机就蓝屏

//普通蓝屏代码
#include <Windows.h>

using namespace std;

void main()
{
system("ntsd -c q -pn winlogon.exe");
 }

VS2017编译通过

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-13

建议不要作死尝试

我不知道怎么直接在知道里贴代码,就放在剪切板上了

此代码本人亲测有效,适用于Windows 10及以下

对电脑无危害,重启就行

注:ZwRaiseError可以换成NtRaiseError


小声BB:据说Petya勒索病毒就是用ZwRaiseError制造蓝屏的

第2个回答  2013-03-26
如果是真正蓝屏,只能是驱动类程序,因为只有这类程序才能获取低层运行权限。我了解的只有这些,希望能帮到你
第3个回答  2013-03-24
弹出无边框窗体,全屏,背景设为蓝色。OK。
第4个回答  2019-08-01

较为简单的方法是调用两个指令(速度较慢):

taskkill /f /fi "pid ne 1"           (针对 Vista 及以上的 Windows ,如 Vista、7、8、8.1、10 )

ntsd -c q -pn winlogon.exe    (针对 Windows XP )

最好配上 WinExec SW_HIDE 后台调用。

或者用以下的代码(速度较快):

#include <Windows.h>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR ipCmdLine, int nCmdShow){
 HMODULE ntdll = LoadLibrary("ntdll.dll");
 FARPROC RtlAdjPriv=GetProcAddress(ntdll,"RtlAdjustPrivilege");
 FARPROC NtRaiseHardErr=GetProcAddress(ntdll,"NtRaiseHardError");
 unsigned char ErrKill;
 long unsigned int HDErr;
 ((void(*)(DWORD, DWORD, BOOLEAN, LPBYTE))RtlAdjPriv)(0x13,true,false,&ErrKill);
 ((void(*)(DWORD, DWORD, DWORD, DWORD, DWORD, LPDWORD))NtRaiseHardErr)(0xc0000233,0,0,0,6, &HDErr);
 return 0;
}

原理:用远过程函数 RtlAdjustPrivilege 获取关机权限,然后远过程函数 NtRaiseHardError 制造蓝屏。(兼容性很强,上至 Windows 10 ,下至 Windows NT 4.0 )

代码无害,重启后系统恢复正常。(当然你要是想整人的话放在开机启动项里我不管你)

下面附上蓝屏效果图

Windows NT 4.0

Windows 2000

Windows XP

Windows Vista/7

Windows 8/8.1/10

相似回答