Erstellen BSOD vom user-mode?
War ich gelangweilt mit meinem XP-box eines Tages, so entschied ich mich zu versuchen, einige der Antworten zu diese Frage, um zu sehen, wenn jeder von Ihnen würde einen BSOD.
Sie hat nicht, und es schien, als würden Sie am ehesten tun, so Frage ich mich, ob es möglich ist, die zum auslösen eines BSOD vom Benutzer-Modus in C/C++, und wenn ja, wie?
- Du meinst, andere als Auslöser von bugs im kernel-Modus-code?
- Ein blauer Bildschirm ist der Windows-kernel Antwort auf einen bug im kernel. Also Nein, abgesehen von der Ausnutzung von bugs im kernel Abstürzen in user-Modus anders behandelt werden.
- Millionen von Windows-Nutzern ging, bevor Sie, wenn auch unabsichtlich. Aber gekonnt unterstützt von crappy C-oder C++ - code. Es ist nicht mehr viel geblieben. Video-Treiber sind die beste Wahl, von einem großen margin.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ernsthaft schwierig, einen BSOD aus user-Modus, es sei denn, der user-mode-Programm interagiert mit buggy Treiber (kann eine bestimmte Sequenz von Operationen offenbaren kann, die bugs in bestimmten Fahrer) stört der Treiber-stack. Aus user-Modus werden die Eingaben validiert werden sowie vor der übergabe an den kernel-Modus, um sicherzustellen, die Stabilität des Systems. Die meisten der Microsoft-API/Treiber überprüft auch, um Sicherheitsprobleme zu vermeiden, die in das system; so hat der Fahrer fertigt.
Ist der beste Weg, um zu stören die Treiber-stack, aber es ist nicht user-Modus.
Können Sie erstellen, die dann mit NotMyFault SystInternals-Dienstprogramm. Grundsätzlich reicht ein Treiber, und erstellen Sie die BSOD
http://download.sysinternals.com/Files/Notmyfault.zip
Gibt es die undokumentierte Funktion NtRaiseHardError.
http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Error/NtRaiseHardError.html
http://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/Error/HARDERROR_RESPONSE_OPTION.html
Wenn der fünfte parameter ist 6 (OptionShutdownSystem), bekommst du einen BSOD. Dies erfordert die Aktivierung der shutdown privilege.
Ist es gerade diese:
Dem Ansatz anderer als der Fehler ist, der Erschöpfung von Ressourcen. Ein Bereich, den Sie untersuchen könnte, wäre die verbrauchen alle CPU auf der Maschine (so viele threads, da haben Sie die Kerne in ein Echtzeit-Priorität), und verbrauchen eine kernel-Ressource und sind abhängig von der real-Zeit-Priorität zum stoppen der kernel von der Reinigung bis.
Nicht sicher, was eine gute Ressource wäre, wenn. Viele der ausstehenden asynchronen Operationen, die gegen ein Gerät, das nicht bekommen können, die CPU zu reinigen? Man könnte zumindest experiment in diese Richtung.
Wenn das Betriebssystem hat keine Fehler, dann sollte es unmöglich sein, BSOD einer Maschine von der user-space. Im schlimmsten Fall, sollte es einfach Abstürzen, die problematische Anwendung.
Jedoch, nichts ist perfekt. Gibt es Fehler, jedes Betriebssystem und jedes Betriebssystem hat Fehler, die Ursache eines BSOD (oder ein OOPS, wie Linux funktioniert, oder aber sonst ein bestimmtes OS wählt Bericht einen nicht behebbaren Fehler), dass eine Sicherheitslücke von user-space.
Soweit Besonderheiten, es hängt wirklich von der Art des Fehlers. Es gibt keine Allgemeine Antwort jenseits von "ja, es ist möglich".
Weitere details sollten Sie sich mehr in OS design und wie paging, ring-Ebenen und andere Techniken können verwendet werden, um separate Prozesse von einander und kernel-space.
Gut, BSODs sind aus nicht behebbaren Fehler im kernel-Modus; es gibt keinen Weg, um zu verursachen, dass das passiert, ohne dass ein kernel-Fehler irgendwie. Im Allgemeinen, wenn Sie das tun wollten, würden Sie haben zu finden, einen Fehler in einem Treiber [edit: oder wie ein Kommentator wies darauf hin, ein system call] und auszunutzen, dass.
Oder, Sie könnten tun, was diese app macht: http://www.nirsoft.net/utils/start_blue_screen.html . Schreiben Sie einfach Ihre eigenen Treiber zu einem Absturz des Systems, wie Sie wollen. 🙂
Die Wikipedia-Seite hatte einige interessante Informationen, so dass ich es auch für Referenz: http://en.wikipedia.org/wiki/Blue_Screen_of_Death .
Können Sie Kraft, die ein system zum Absturz bringen mit der Tastatur. Ihr Titel spricht über user-Modus, ich bin nicht sicher, ob dies qualifiziert als Benutzer-Modus, dennoch kann es nützlich sein.
Zwei Möglichkeiten, ohne Verwendung von Treibern:
Fand ich unter diesem link einen code, der erzeugt einen bsod : https://www.mpgh.net/forum/showthread.php?t=1100477
Und hier der code (ich habe es ausprobiert und es funktioniert, Sie brauchen nur zu rufen, der BlueScreen () - Funktion)