I am looking for a way to trigger Blue Screen of Death (BSOD) on an IoT Device running Windows 10 IoT Core version.
I tried doing some googling around, but any of the guides either do not apply to Windows 10 IoT Core (e.g. forcing it through Ctrl + 2x Scroll Lock key combination), or do not work at all (like killing csrss.exe process, which returns with "Access denied" error - doesn't matter if it is killed from IoT Core builtin Shell, or remote PowerShell session).
I also know about Microsoft's tool called Not my fault, but it's an .exe file, not an UWP .appx package that I could easily run on Windows 10 IoT Core system.
Best thing I can think of is some kind of remote PowerShell command or creating an app that could be triggered somehow to produce a BSOD.
Disclaimer: This is intended only for academic purposes, I do not want a "hacky" solution. The device I intend to trigger BSOD on belongs to me and I do not intend to use the methods provided to cause any mayhem to anyone else.
Edit: As suggested by @Sunius in comments, there is also a possibility of writing my own kernel mode driver
. If I were to pursue this solution, how can I trigger a BSOD on demand with such a driver? I have no prior experience with writing Windows drivers, so any general tips on achieving this may be useful.
I understand the bit about dereferencing a null pointer, but as I understand it, this would normally happen on driver installation/load, and I would rather need a way to install/load the driver first, then, when necessary, trigger the BSOD using the driver I provided. What are the options to communicate with driver? Do drivers allow to trigger any action from say C# UWP Application (since I cannot run other apps on IoT Core OS)?
Are there any guides, references I could read? The Microsoft documentation on this topic is rather scarce and not beginner friendly (I suppose writing drivers shouldn't be done by begginers, but still).
You can trigger a BSoD with the command Get-Process | Stop-Process -Force
.