純粋に学術的な理由で。
C#/.NET の windows xp/windows 7 でプログラムによって BSOD を発生させることは可能ですか?
これを引き起こすには、何らかの汚いハック、または悪用に対する脆弱性が必要であると示唆しています。
限られた時間内に BSOD を保証する、実行するコードのスニペットを探しています。
プロセス「csrss.exe」を強制終了すると、BSOD が発生します。
ただし、これを行うには管理者権限が必要です。制限された特権で純粋にこれを行う方法があるかどうかはわかりません。
編集:
はい、問題なく動作します。私は素敵な小さなBSODを自分で調理しました:)
System.Diagnostics.Process.GetProcessesByName("csrss")[0].Kill();
BSOD を引き起こす SysInternals NotMyFaultProcess.Start
ツールを実行するために使用します(ダイバーを使用してこれを行うのが唯一の方法です)。
csrss.exe を強制終了することも現在は機能しますが、これは文書化されていない方法であり、Windows の将来のバージョンではなくなる可能性があります。NotMyFault は、文書化されたクリーンな方法を使用してそれを行います。
ping を作成します。プログラムを終了します。.net 4 のマイクロソフトの tcpip.sys によるインスタント bsod。
プロセスがページをロックしていることがわかります。:)
以前、Windows 7 で「問題」が発生し、デバッグ中に Ping::Send メソッドを使用すると BSOD が発生しました。したがって、Debugger::Attach と ping も同様に機能する可能性があります。:)
すべてのバージョンの Windows で、svchost.exe を強制終了できます。Critical_Process_Died の BSoD が表示されます。
ローカルホストに ping を実行すると、CPU が過負荷になり、bsod が発生します。