Jugando a la Ruleta Rusa en Unix
Escrito por jorgicio en Curiosidades y cosas interesantes, Informática, Linux y Software libreMe imagino que más de alguno conoce el juego de la Ruleta Rusa ¿o no? Ése donde un wn pone una bala en el tanque de la pistola, lo hace girar y se lo pega en la cabeza y que la probabilidad de que el wn se mate sea 1/6. Hay variaciones de este juego pero prefiero la que voy a explicar a continuación.
Se trata de la Ruleta Rusa en Unix. Perfectamente puede escribir un script (se puede usar otro paradigma de programación, si lo desean, siempre y cuando tenga llamada a sistema xD) y ejecuta un comando que al menos pone “en peligro” al sistema. Es mejor eso que poner en riesgo la vida xD
La idea a modo de pseudocódigo sería más o menos así:
numero = algunafuncionrandom()
Si numero % 6 es igual a 0,
entonces
ejecutounallamadaasistema
sino
nohacenada
fin
Bueno, ¿se entendió? Bueno, pondré unos ejemplos para que entiendan. Veamos:
Una versión en lenguaje de Shell (Bash lo encontré muy restrictivo, además uso Zsh xD) en modo agresivo sería:
#!/bin/sh
ROOT_UID=0
if [ "$UID" -eq "$ROOT_UID" ]; then
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo "Tu sistema aun vive"
else
echo "Para jugar a la ruleta rusa debes ser root"
fi
exit 0
En este caso, lo que hace es primero verificar si el usuario es root o es un usuario normal. De ser root, si se cumple que la variable $RANDOM (que genera un número aleatorio) es múltiplo de 6 (el resultado del módulo sería 0), se ejecuta el comando rm -rf /, que no sólo borra los archivos de sistema sino también afecta a los puntos de montaje (por ej., si tienen particiones de Window$ montadas, también borrará los datos contenidos en ellas :S). Si no se cumple, simplemente no pasará nada
Ahora voy a poner una versión más suavecita hecha en Python:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from os import fork
from random import randint
def fork_bomb():
while True:
fork()
aleatorio = randint(0,100000000)
if aleatorio % 6 == 0:
fork_bomb()
else:
print "Te salvaste weón xD"
La idea es la misma del código anterior pero ahí si se cumple la igualdad, ejecuta una fork bomb que congelará el sistema y lo tendrán que reiniciar a la mala, MUAHAHAHAHAHA xD
Bueno, ahí tienen para que jueguen un rato
Ahí van creando sus propios scripts a su modo, como uds. quieran.
Saludos.
Jorgicio






















Entradas (RSS)