Delphi编写点击触发BSOD程序无响应问题排查求助
用Delphi编写触发BSOD程序无响应的问题排查
我尝试用Delphi编写一个点击按钮即可触发BSOD(蓝屏死机)的程序,代码如下:
procedure RtlAdjustPrivilege(var Privilege: Integer; var bEnablePrivilege: Boolean; var IsThreadPrivilege: Boolean; var PreviousValue: PBoolean) stdcall; external 'ntdll.dll' name 'RtlAdjustPrivilege'; procedure NtRaiseHardError(var ErrorStatus: UInt64;var NumberOfParameters: UInt64; var UnicodeStringParameterMask: UInt64; var IntPtr: UInt64; var ValidResponseOption: UInt64; var Response: PLongInt) stdcall; external 'ntdll.dll' name 'NtRaiseHardError'; var bl, a, b: Boolean; var I: Integer; var Res: LongInt; var Pb: PBoolean; var c, d, e, f, g: UInt64; var PRes: PLongInt; procedure TForm4.Button1Click(Sender: TObject); begin I := 19; a := True; b := False; Pb := @bl; RtlAdjustPrivilege(I, a, b, pb); c := 3221225595; d := 0; e := 0; f := 0; g := 6; PRes := @Res; NtRaiseHardError(c,d,e,f,g, PRes); end;
但点击按钮后没有任何反应,我想知道自己哪里出错了,这段代码是我改写自相关回答。
编辑:修改后的代码如下,但仍然没有效果:
procedure RtlAdjustPrivilege(var Privilege: Integer; var bEnablePrivilege: Boolean; var IsThreadPrivilege: Boolean; var PreviousValue: PBoolean) stdcall; external 'ntdll.dll' name 'RtlAdjustPrivilege'; procedure NtRaiseHardError(var ErrorStatus: UInt64;var NumberOfParameters: UInt64; var UnicodeStringParameterMask: Pointer; var IntPtr: Pointer; var ValidResponseOption: UInt64; var Response: PLongInt) stdcall; external 'ntdll.dll' name 'NtRaiseHardError'; var bl, a, b: Boolean; var I: Integer; var Res: LongInt; var Pb: PBoolean; var c, d, g: UInt64; var e, f: Pointer; var PRes: PLongInt; procedure TForm4.Button1Click(Sender: TObject); begin I := 19; a := True; b := False; Pb := @bl; RtlAdjustPrivilege(I, a, b, pb); c := $C000007B; d := 0; e := nil; f := nil; g := 6; PRes := @Res; NtRaiseHardError(c,d,e,f,g, PRes); end;
内容的提问来源于stack exchange,提问作者wzzzawzzz
相关产品推荐
相关产品推荐

