Schreiben Sie Code, der eine BSOD- oder Kernel-Panik verursacht!
Regeln:
- Unter Windows müssen Sie einen BugCheck (Blue Screen of Death) auslösen, unter Linux (oder anderen * nix-Systemen) müssen Sie eine Kernel-Panik auslösen.
- Darf das System nicht beschädigen (dh es sollte beim Neustart funktionieren)
- Kernelmodustreiber sind zulässig.
- Geben Sie Ihre Betriebssystem- und Versionsinformationen an.
- Erklären Sie, wie der Absturz verursacht wurde.
- Es verstößt nicht gegen die Regeln, Tools zu verwenden, die speziell dafür entwickelt wurden, einen Absturz zu verursachen, aber dies ist nicht sehr kreativ!
- Höchste Upvotes gewinnen.
popularity-contest
Polynom
quelle
quelle
1/0
einer Datei mit dem Namendriver.c
kein gültiger Kernelmodustreiber. Unabhängig davon basiert der Gewinner auf Aufstimmungen und nicht auf der Codelänge.Antworten:
Bash, x86 Linux 2.6.20 Kernel
Warnung: Der folgende Befehl kann Ihr System dauerhaft beschädigen.
Wird folgendes ausgeben ( hier probieren ). Danach hängt das Skript.
Hier ist eine weitere Ausnahme, die mit demselben Befehl gefunden wurde:
quelle
sudo rm -Rf /
. Die Wahrscheinlichkeit, dass das System mit dieser Methode dauerhaft beschädigt wird, ist geringer als die Wahrscheinlichkeit, dass beispielsweise die Ausgabe eines Satzes von Liedtexten basierend auf dem Hash des Texts brachial erzwungen wird.C 16 Zeichen für P5 x 86
Erinnerst du dich an den F00F-Bug ? Mit diesem kleinen Programm habe ich damals ein oder zwei Maschinen eingesperrt. (Ja, ich habe so lange Golf gespielt.)
Zugegeben, es ist nicht ganz das, wonach man gefragt hat, und es funktioniert nur auf alten Steppings der P5-Pentium-Chips. Aber es ist plattformübergreifend und funktioniert sowohl unter Linux als auch unter Windows!
quelle
QBASIC, 38 Zeichen
Nicht sicher, wie Sie eine BSOD- oder Kernel-Panik in DOS definieren würden, aber dies ist wahrscheinlich ziemlich nah. Beim Ausführen wird der Bildschirm leer und der Computer reagiert auf nichts, nicht einmal Strg + Alt + Entf. Sie müssen mit einem Hard-Reset oder einem Aus- und Wiedereinschalten neu starten, um die Maschine wieder in Betrieb zu nehmen. Dies läuft unter DOS 6.22 unter VirtualBox. Ich weiß nicht genau, warum das System abstürzt, aber im Grunde schreibt das Programm (POKE) in den Speicher, in den es keine geschäftlichen Schreibvorgänge ausführt.
quelle
COMMAND.COM
Programmcode, die in Adressen mit geringem Speicherplatz gespeichert sind. Quelle: img.tfd.com/cde/MEMMAP.GIFsh (in JSLinux)
Linux bietet dem init-Prozess einen besonderen Schutz vor Signalen . Allerdings ist mir aufgefallen, dass es sich bei JSLinux
/sbin/init
um ein Shell-Skript handelt, das andere Binärdateien ausführt (mit denen die meisten Links bestehen/bin/busybox
).Diese "unendliche" while-Schleife wird
sh
bei Bedarf neu gestartet :Was ist jedoch, wenn
/bin/true
nicht immer der Exit-Code 0 zurückgegeben wird?/bin
befindet sich im schreibgeschützten Root-Dateisystem, Linux lässt uns dies jedoch mithilfe von "bind" -Mounts ändern:Und wir bekommen:
quelle
Bash unter Linux, 27 Zeichen
Oder wenn Sie Sudo-Berechtigungen haben:
quelle
sh: can't create /proc/sysrq-trigger: nonexistent directory
für mich. (obwohl dies in jsLinux ist, sollte ich wahrscheinlich auf einer echten Box testen)GTB , 13 Zeichen
Wird von einem TI-84-Rechner ausgeführt
Wenn der größte Teil des Arbeitsspeichers frei ist, stürzt er mit ab
ERR:MEMORY
Andernfalls ist der RAM des Rechners so verstopft, dass er sich ausschaltet und es außerdem löscht.
quelle
+
,++
,++++
etc. inStr0
. Es gab mirERR:MEMORY
, aber der Versuch,Str0
den Wert sofort anzuzeigen , stürzte meine 84+ ab. Außerdem habe ich dadurch alle meine Programme verloren.Batch (Windows 98)
Dies ist eigentlich ein BSOD-Osterei von Windows 98 ...
quelle
In Bash Shell,
Ich bin mir nicht so sicher, ob dies hier zählt, aber wenn Sie es lange genug laufen lassen, überhitzt sich die CPU und das System stürzt ab, und es startet sicher und ohne Schaden neu, natürlich, wenn Sie es die ganze Zeit tun, wird es einige Systemschäden geben.
quelle
/dev/mem
oder/dev/kmem
wie ich es von root wünsche.Ruby (als root ausgeführt), 36 oder 40 Zeichen (je nach Übereinstimmung für
/p*/s*r
)Lesen Sie http://www.kernel.org/doc/Documentation/sysrq.txt und suchen Sie nach
'c'
(einschließlich Anführungszeichen!), Um herauszufinden, warum dies funktioniert.EDIT: Längere Version, die funktioniert, wenn andere Dinge übereinstimmen
/p*/s*r
EDIT 2: Absichtlich Overkill.
quelle
in Powershell
quelle
Linux-Bash
Lösche den gesamten Speicher und verursache eine unendliche Kernel-Panik.
Probieren Sie es hier aus .
quelle
s/zero/urandom/
.Batch, 15 Bytes
Nur überläuft der Speicher in linearer Zeit, indem
cmd.exe
Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte und Hunderte Male.Es gibt ein tödlicheres (aber wahrscheinlich nicht konkurrierendes) 24-Byte-Programm, das sich immer wieder von selbst startet und so den Speicher in logarithmischer Zeit überfüllt (dh das Aufrüsten Ihres RAM verzögert den Absturz nicht). Angenommen, der folgende Code befindet sich in
C:\a.bat
:.
Ehrlich gesagt habe ich Angst, diese auszuprobieren.
quelle
:() { : | : & }; :
@0
stattC:\a.bat
?