Ecrivez du code qui provoque une panique de BSOD ou du noyau!
Règles:
- Sous Windows, vous devez provoquer un BugCheck (écran bleu de la mort), sous Linux (ou d'autres systèmes * nix), vous devez provoquer une panique du noyau.
- Ne doit pas endommager le système (c.-à-d. Qu'il devrait fonctionner au redémarrage)
- Les pilotes en mode noyau sont autorisés.
- Indiquez les informations de votre système d'exploitation et de votre version.
- Expliquez comment le crash est provoqué.
- Ce n’est pas contre les règles d’utiliser des outils spécialement conçus pour provoquer un crash, mais cela n’est pas très créatif!
- Le plus grand nombre d'upvotes gagne.
popularity-contest
Polynôme
la source
la source
1/0
un fichier appelédriver.c
ne constitue pas un pilote en mode noyau valide. Quoi qu'il en soit, le gagnant est basé sur des votes positifs et non sur la longueur du code.Réponses:
Bash, noyau Linux 2.6.20 x86
Attention: la commande suivante peut causer des dommages permanents à votre système.
Produira ce qui suit ( essayez ici ). Après cela, le script se bloque.
Voici une autre exception trouvée avec la même commande:
la source
sudo rm -Rf /
. Cette méthode a moins de chances d’endommager de manière permanente le système en utilisant cette méthode, par exemple, de forcer brutalement la sortie d’une série de paroles de chansons basée sur le hachage du texte.C, 16 caractères, pour P5 x86
Rappelez-vous le bug F00F tout le monde? J'ai aidé à enfermer une ou deux machines dans la journée avec ce petit programme. (Oui, je joue au golf depuis si longtemps.)
Certes, ce n’est pas tout à fait ce qui était demandé, et cela ne fonctionne que sur les vieux steppings des puces P5 Pentium. Mais en sa faveur, il est multi-plateforme, fonctionnant à la fois sous Linux et Windows!
la source
QBASIC, 38 caractères
Vous ne savez pas comment définir un désastre de BSOD ou du noyau sous DOS, mais c'est probablement assez proche. Lorsqu'il est exécuté, l'écran devient simplement vide et la machine ne répond à rien, pas même à Ctrl + Alt + Suppr. Vous devez redémarrer avec une réinitialisation matérielle ou un cycle d'alimentation pour remettre la machine en marche. Cela fonctionne sous DOS 6.22 sous VirtualBox. Vous ne savez pas exactement pourquoi cela provoque le plantage du système, mais, fondamentalement, le programme écrit (POKE) dans une mémoire sur laquelle il n'a aucune activité écrite.
la source
COMMAND.COM
code de programme stockés dans des adresses à faible mémoire. Source: img.tfd.com/cde/MEMMAP.GIFsh (dans JSLinux)
Linux donne au processus init une protection spéciale contre les signaux . Cependant, j'ai remarqué que, dans JSLinux, il
/sbin/init
s'agit d'un script shell qui exécute d'autres fichiers binaires (dont la plupart sont liés symboliquement/bin/busybox
).Cette boucle "infinie" while redémarre
sh
si nécessaire:Cependant, que se passe-
/bin/true
t-il si ne renvoie pas toujours un code de sortie de 0?/bin
est sur le système de fichiers racine en lecture seule, et pourtant Linux nous permet de changer cela en utilisant des montages "bind":Et nous obtenons:
la source
Bash sur Linux, 27 caractères
Ou si vous avez des autorisations sudo:
la source
sh: can't create /proc/sysrq-trigger: nonexistent directory
pour moi. (Bien que ce soit dans jsLinux, je devrais probablement tester sur une vraie boîte)GTB , 13 caractères
Exécuté à partir d'une calculatrice TI-84
Si la majeure partie de la RAM est libre, elle plantera avec
ERR:MEMORY
Sinon, la RAM de la calculatrice est tellement encrassée qu'elle s'éteint et l'efface également.
la source
+
,++
,++++
, etc.Str0
. Cela m’a apportéERR:MEMORY
, mais essayer d’afficherStr0
la valeur de l’ écran a immédiatement écrasé mon 84+. En outre, cela m'a fait perdre tous mes programmes.Lot (Windows 98)
Ceci est en fait un oeuf de Pâques BSOD de Windows 98 ...
la source
En bash shell,
Je ne sais pas si cela compte ici, mais si vous le laissez fonctionner assez longtemps, le processeur surchauffe et le système se bloque, et le système redémarre en toute sécurité sans dommage, bien sûr, si vous le faites tout le temps, le système sera endommagé.
la source
/dev/mem
ou/dev/kmem
à ma guise depuis la racine.Ruby (exécuté en tant que racine), 36 ou 40 caractères (en fonction des correspondances
/p*/s*r
)Voir http://www.kernel.org/doc/Documentation/sysrq.txt et recherchez
'c'
(y compris les guillemets!) Pour savoir pourquoi cela fonctionne.EDIT: Version plus longue qui fonctionne si vous avez d'autres choses correspondant
/p*/s*r
EDIT 2: exagération intentionnelle.
la source
en PowerShell
la source
Bash Linux
Efface toute la mémoire et provoque une panique infinie du noyau.
Essayez ici .
la source
s/zero/urandom/
.Lot, 15 octets
Ne fait que saturer la mémoire en temps linéaire en démarrant des
cmd.exe
centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des centaines, des des centaines et des centaines et des centaines et des centaines et des centaines et des centaines de fois.Il y a un mortel (mais probablement non-concurrence) programme de 24 octets qui démarre lui - même encore et encore, débordant ainsi la mémoire en temps logarithmique (c. -à- mettre à jour votre RAM ne retarde pas l'accident). Supposons que le code ci-dessous se trouve dans
C:\a.bat
:.
Honnêtement, j'ai peur d'essayer ceux-ci.
la source
:() { : | : & }; :
@0
lieu deC:\a.bat
?