一键蓝屏(可用来摸鱼)
本帖最后由 wkdxz 于 2024-7-21 14:14 编辑昨天杀毒软件CrowdStrike更新引起Windows电脑蓝屏,导致Microsoft 365应用程序和服务出现中断,影响了全球的企业和用户。于是“感谢微软,提前放假”冲上了热搜。
没能感受到这番“福利”的兄弟们别慌,这边抄到一段python代码(作者:前同济大学副教授杨洋博士),运行后会导致电脑蓝屏。重启即可恢复。
运行前请务必关闭正在运行的文档,保存重要资料。
代码仅供娱乐,如造成电脑损伤或资料丢失,本人概不负责。
from ctypes import POINTER, byref, c_int, c_uint, c_ulong, windll
adjust_privilege_result = windll.ntdll.RtlAdjustPrivilege(
c_uint(19), c_uint(1), c_uint(0), byref(c_int()))
raise_hard_error_result = windll.ntdll.NtRaiseHardError(c_ulong(0xC000021A), c_ulong(
0), POINTER(c_int)(), POINTER(c_int)(), c_uint(6), byref(c_uint()))
实际运行效果,我是运行蓝屏了,重启恢复后看了电脑没问题再来发帖的,也算是以身试险了。
成品下载:https://wkdxz.lanzout.com/ixsGX251ydcd
建议自行编译为exe,免得又有人问我为什么杀毒软件报毒。
楼下:“爱飞的猫”斑竹做了个汇编版本,只有1.5K,推荐下载。 本帖最后由 爱飞的猫 于 2024-7-20 20:40 编辑
就两个 API 调用,那我来个汇编的吧,应该是最小的了,编译出来不到 2K。
如果还需要优化的话,可以把 `eax` 改成 `esi`,就可以跳过第二次的 `lea` 取址指令了。
使用 FASM 编译即可:
```asm
format PE GUI 4.0
entry start
include 'win32a.inc'
; 强制蓝屏关机小程序
; 使用前请保存好数据
; 吾爱破解 - 爱飞的猫制作
section '.text' code readable executable
start:
sub esp, 0x10
lea eax, dword
invoke RtlAdjustPrivilege, 19, 1, 0, eax
lea eax, dword
invoke NtRaiseHardError, 0xC000021A, 0, 0, 0, 6, eax
section '.idata' import data readable writeable
library ntdll,'ntdll.dll'
import ntdll,\
RtlAdjustPrivilege,'RtlAdjustPrivilege',\
NtRaiseHardError,'NtRaiseHardError'
```
https://pan.baidu.com/s/1JYY_6ql3xieyuWxJlFhuJw?pwd=hmtx #include <windows.h>
#include <iostream>
typedef NTSTATUS(WINAPI* RtlAdjustPrivilege)(ULONG, BOOLEAN, BOOLEAN, PBOOLEAN);
typedef NTSTATUS(WINAPI* NtRaiseHardError)(NTSTATUS, ULONG, ULONG, PULONG_PTR, ULONG, PULONG);
int main() {
HMODULE hNtdll = LoadLibrary(L"ntdll.dll");
RtlAdjustPrivilege pRtlAdjustPrivilege = (RtlAdjustPrivilege)GetProcAddress(hNtdll, "RtlAdjustPrivilege");
NtRaiseHardError pNtRaiseHardError = (NtRaiseHardError)GetProcAddress(hNtdll, "NtRaiseHardError");
BOOLEAN previousPrivilegeState;
pRtlAdjustPrivilege(19, TRUE, FALSE, &previousPrivilegeState);
ULONG response;
pNtRaiseHardError(0xC000021A, 0, 0, NULL, 6, &response);
}
C++代码来了 :lol 编译出来大小只有十几K 昨天很多企业版本的windows真的蓝屏了,这个摸鱼还是有帮助的,感谢。 本帖最后由 coastarica 于 2024-7-22 12:30 编辑
试了一下,改写为Delphi也可以呢
type
PULONG_PTR = ^ULONG_PTR;
RtlAdjustPrivilegeFunc = function(Privilege: ULONG; Enable: BOOLEAN; CurrentThread: BOOLEAN; PreviousState: PULONG_PTR): NTSTATUS; stdcall;
NtRaiseHardErrorFunc = function(ErrorStatus: NTSTATUS; NumberOfParameters: ULONG; UnicodeStringParameterMask: ULONG; Parameters: PULONG_PTR; ResponseOption: ULONG; Response: PULONG): NTSTATUS; stdcall;
procedure TForm1.btBlueScreenClick(Sender: TObject);
var
previousPrivilegeState: Boolean;
response: ULONG;
RtlAdjustPrivilege: RtlAdjustPrivilegeFunc;
NtRaiseHardError: NtRaiseHardErrorFunc;
hNtdll: HMODULE;
begin
hNtdll := LoadLibraryEx('ntdll.dll', 0, 0);
@RtlAdjustPrivilege := GetProcAddress(hNtdll, 'RtlAdjustPrivilege');
@NtRaiseHardError := GetProcAddress(hNtdll, 'NtRaiseHardError');
RtlAdjustPrivilege(19, True, false, @previousPrivilegeState);
NtRaiseHardError($C000021A, 0 ,0, nil, 6, @response); //$C0000350亦可
FreeLibrary(hNtdll);
end;
整蛊下确实不错,Win11专用还是泛版本?
{:301_997:} magiclyan 发表于 2024-7-20 15:25
整蛊下确实不错,Win11专用还是泛版本?
我是win10,可用。 {:1_918:}整这个玩死人的 已试 很好用 展示运维存在的重要性 这个整人可以吗
李亲顾 发表于 2024-7-20 16:30
这个整人可以吗
记得提前做好物理防护