Einen BlueScreen simulieren

8

Ich versuche ein Programm zu erstellen, das regelmäßig eine ganze Reihe von Dingen aufzeichnet. Der eigentliche Grund ist, dass ein Entwickler, wenn er Bluescreens sieht, viel zurückgehen und die Umgebung überprüfen kann, um zu sehen, was um diese Zeit herum passiert.

Mein Problem ist, dass sie einen Bluescreen verursachen können? Vielleicht mit einem WindowsAPI-Aufruf (ZeroMemory vielleicht?).

Anywhoo, wenn Sie sich einen Weg vorstellen können, einen Bluescreen auf Anruf zu verursachen, wäre ich dankbar.

Der Computer, den ich gerade teste, ist so konzipiert, dass er solche Sachen macht, haha.

Übrigens ist die Sprache, die ich benutze, C \ C ++. Danke

    
William Brendel 20.03.2009, 19:20
quelle

8 Antworten

12

Sie können einen Computer so konfigurieren, dass er bei einem Tastendruck abstürzt (Strg-ScrollLock)

Da es auf manchen Systemen mit USB-Tastaturen manchmal Probleme gibt, können Sie auch die Debugging-Tools für Windows installieren, den Kernel-Debugger installieren und den Befehl " .crash " erzwingen Bugcheck.

Michael Burr 20.03.2009 19:24
quelle
6

Um einen BSOD zu verursachen, muss ein im Kernel-Modus laufender Treiber dies verursachen. Wenn Sie das wirklich tun wollen, können Sie einen Treiber schreiben, der KeBugCheck für den Benutzermodus verfügbar macht.

Ссылка

Danke an Andrew unten für das Zeigen dieses Dienstprogramms:

Ссылка

    
Jesse Weigert 20.03.2009 19:30
quelle
4

Wenn Sie den csrss-Prozess beenden, erhalten Sie schnell einen Blue-Screen.

    
Walden Leverich 20.03.2009 19:23
quelle
1

Wenn Sie einen harten Crash wie einen Bluescreen simulieren möchten, müssen Sie das Netzkabel ziemlich schnell ziehen. NICHT empfohlen.

Im Falle eines Absturzes geht alles verloren, was nicht im persistenten Speicher gespeichert wurde. Wenn Sie einen Absturz zum Zwecke der Protokollierung simulieren möchten, schreiben Sie einen "Kill Switch" in Ihren Logger, der die Protokollierung stoppt. Jetzt können Sie einen Absturz simulieren, indem Sie die Protokollierung löschen und sicherstellen, dass Sie die Daten haben, die Sie im Falle eines tatsächlichen Absturzes haben wollten.

    
Dave Swersky 20.03.2009 19:24
quelle
1

Zunächst würde ich Ihnen raten, eine virtuelle Maschine zu verwenden, um diese BSOD zu testen auf. Auf diese Weise können Sie eine Sicherungskopie nur für den Fall aufbewahren, dass der BSOD dem System Schaden zufügt. Hier ist ein Tipp, wie Sie einen BSOD einfach durch Drücken von STRG + SCROLLLOCK + SCROLLLOCK generieren können.

Gibt es eine Windows-API, um eine zu generieren? Nein, laut diesem Artikel . Wenn Sie jedoch bestimmte APIs mit ungültigen Daten aufrufen, könnten sie immer noch einen Absturz im Kernel verursachen, was zu Ihrem BSOD führen würde.

    
Wim ten Brink 23.09.2009 11:46
quelle
0

Ich bin mir nicht sicher, was genau du testen würdest. Da Ihr Programm regelmäßig ausgeführt wird, reicht es aus, zu überprüfen, ob die Informationen in der Häufigkeit ausgegeben werden, die Sie bei laufendem System angeben. Überprüfst du, dass die Informationen nach dem blauen Bildschirm erhalten bleiben? Abhängig davon, wie Sie es ablegen (und ob Sie Puffer räumen), ist dies möglicherweise nicht notwendig.

    
tvanfosson 20.03.2009 19:28
quelle
0

Wenn Sie keinen Code (Treiber, IOCTL ...) schreiben möchten, können Sie DiskCryptor verwenden. Beachten Sie, dass keine Festplattenverschlüsselung erforderlich ist.

Sie müssen nur den Treiber installieren:

  

dcinst.exe -setup

Und dann generieren ein BSOD mit der DC-Konsole:

  

dccon.exe -bsod

    
zapador 07.02.2013 11:04
quelle
0

Führen Sie den Prozess als Kritiker aus und beenden Sie Ссылка

    
user956584 12.10.2013 20:45
quelle

Tags und Links