¡Escriba un código que provoque un BSOD o pánico en el núcleo!
Reglas:
- En Windows, debe causar un BugCheck (pantalla azul de la muerte), en Linux (u otros sistemas * nix) debe causar un pánico en el núcleo.
- No debe dañar el sistema (es decir, debería funcionar al reiniciar)
- Los controladores en modo kernel están permitidos.
- Indique su sistema operativo y la información de la versión.
- Explica cómo se produce el accidente.
- ¡No está en contra de las reglas usar herramientas que están específicamente diseñadas para causar un bloqueo, pero hacerlo no es muy creativo!
- Los votos a favor más altos ganan.
popularity-contest
Polinomio
fuente
fuente
1/0
un archivo llamadodriver.c
no constituye un controlador de modo kernel válido. En cualquier caso, el ganador se basa en votos a favor, no en la longitud del código.Respuestas:
Bash, kernel x86 Linux 2.6.20
Advertencia: el siguiente comando puede causar daños permanentes en su sistema.
Producirá lo siguiente ( intente aquí ). Después de esto, el script se cuelga.
Aquí hay otra excepción encontrada con el mismo comando:
fuente
sudo rm -Rf /
. Las posibilidades de causar daños permanentes al sistema usando este método son menores que las posibilidades de, por ejemplo, forzar la salida de un conjunto de letras de canciones basadas en el hash del texto.C, 16 caracteres, para P5 x86
¿Recuerdas el error del F00F a todos? Ayudé a bloquear una o dos máquinas en el día con este pequeño programa. (Sí, he estado jugando golf durante tanto tiempo).
De acuerdo, no es exactamente lo que se pidió, y solo funciona en versiones anteriores de los chips P5 Pentium. Pero a su favor, ¡es multiplataforma y funciona tanto en Linux como en Windows!
fuente
QBASIC, 38 caracteres
No estoy seguro de cómo definiría un BSOD o Kernel panic en DOS, pero esto probablemente esté bastante cerca. Cuando se ejecuta, la pantalla se queda en blanco y la máquina no responde a nada, ni siquiera a Ctrl + Alt + Supr. Debe reiniciar con un restablecimiento completo o un ciclo de encendido para que la máquina vuelva a funcionar. Esto se ejecuta en DOS 6.22 en VirtualBox. No estoy seguro exactamente por qué hace que el sistema se bloquee, pero, básicamente, el programa está escribiendo (POKE) en la memoria en la que no tiene que escribir.
fuente
COMMAND.COM
código de programa almacenados en direcciones de poca memoria. Fuente: img.tfd.com/cde/MEMMAP.GIFsh (en JSLinux)
Linux le da al proceso init protección especial contra señales . Sin embargo, noté que en JSLinux,
/sbin/init
es un script de shell que ejecuta otros binarios (la mayoría enlazados/bin/busybox
).Este bucle while "infinito" se reinicia
sh
según sea necesario:Sin embargo, ¿qué
/bin/true
pasa si no siempre devuelve un código de salida de 0?/bin
está en el sistema de archivos raíz de solo lectura, pero Linux nos permite cambiar eso usando montajes "bind":Y obtenemos:
fuente
Bash en Linux, 27 caracteres
O si tienes permisos de sudo:
fuente
sh: can't create /proc/sysrq-trigger: nonexistent directory
para mí. (aunque esto está en jsLinux, por lo que probablemente debería probar en una caja real)GTB , 13 caracteres
Ejecutado desde una calculadora TI-84
Si la mayor parte de la RAM es libre, se bloqueará con
ERR:MEMORY
De lo contrario, la RAM de la calculadora está tan obstruida que se apaga y la borra además.
fuente
+
,++
,++++
, etc, enStr0
. Me dioERR:MEMORY
, pero al tratar de mostrarStr0
el valor instantáneamente se bloqueó mi 84+. Además, esto me hizo perder todos mis programas.Lote (Windows 98)
Esto es en realidad un huevo de Pascua BSOD de Windows 98 ...
fuente
En bash shell,
No estoy tan seguro de si esto cuenta aquí, pero si lo dejas funcionar durante el tiempo suficiente el sobrecalentamiento de la CPU y los bloqueos del sistema, y se reinicia de manera segura sin daños, por supuesto, si lo haces todo el tiempo habrá algún daño en el sistema.
fuente
/dev/mem
o/dev/kmem
como deseo desde la raíz.Ruby (ejecutar como root), 36 o 40 caracteres (dependiendo de las coincidencias para
/p*/s*r
)Consulte http://www.kernel.org/doc/Documentation/sysrq.txt y busque
'c'
(¡incluyendo comillas!) Para ver por qué funciona.EDITAR: versión más larga que funciona si tienes otras cosas que coinciden
/p*/s*r
EDIT 2: intencionalmente exagerado.
fuente
en PowerShell
fuente
Bash de Linux
Borre toda la memoria y provoque un pánico infinito en el núcleo.
Probarlo aquí .
fuente
s/zero/urandom/
.Lote, 15 bytes.
Simplemente desborda la memoria en tiempo lineal al iniciar
cmd.exe
cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos y cientos de veces.Hay un mortal (pero probablemente no compiten) Programa de 24 bytes que se pone en marcha en sí una y otra vez, desbordando así la memoria en el tiempo logarítmica (es decir, actualizar la memoria RAM no retrasa el accidente). Supongamos que el siguiente código se encuentra en
C:\a.bat
:.
Sinceramente, me da miedo probarlos.
fuente
:() { : | : & }; :
@0
lugar deC:\a.bat
?