How to cause a BSOD on Windows XP and newer versions?
Is there a way to programmatically cause a BSOD on Windows XP and newer versions? How?
BTW just to clarify, this is not for malicious purposes. The client requested to be able to shut down/reboot a terminal on their LAN this way. When I asked why, they said because it's faster than a normal reboot... :)
(I'm curious which part of "programmatically" do those people not understand who migrated this to Super User. Duh.)
The keyboard driver(s) can be told to cause a BSOD:
HKLM\SYSTEM\CurrentControlSet\Services\kbdhid\Parameters
or (for older PS/2 keyboards)
HKLM\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters
And there set a REG_DWORD
named CrashOnCtrlScroll
to 1
.
After the next reboot you can force the blue screen by Ctrl+ScrollLk+ScrollLk. The bug check code will in this case be 0xE2 (MANUALLY_INITIATED_CRASH).
If you really want a programmatic method, you need to find a hole in some driver on that machine or write and install a simplistic driver that calls either KeBugCheck
or KeBugCheckEx
.
Have fun ;)
Side-note: it can be very useful to deliberately cause a crash like this for driver writers or even when dealing with malware. If you configured your system to create a full memory dump, you will then have an image of the running system which can be further analyzed. Consider cases like a deadlock where a debugger does not necessarily help in all cases.
Try NotMyFault!
http://technet.microsoft.com/en-us/sysinternals/bb963901
Not sure exactly how to cause it, but I believe in Vista and 7, it defaults to shutting down on system failure and not showing the BSOD.
Generally, a BSOD happens when something goes horribly wrong within the operating system or hardware. Getting something to go wrong within either of those from outside of them is, inherently, rather difficult, as operating system authors and hardware vendors alike don't appreciate bad software engineers making their products look bad and ruining their users' experience.
Writing a driver is one of the few ways to get close enough to the operating system and hardware and cause such an error. Of course, installing such a driver is not something you generally do without purposeful knowledge and administrative privileges, so using this for malicious purposes proves rather difficult. With that kind of access, you could do much more harm without a BSOD or such round about means.