FAIL!

Dodano 05 MAR 2008 roku o godzinie 17:01:25

Kurde skopiowałem fragment kodu rosyjskiej ruletki, a konkretnie (Ps wiem, że można inaczej):

 
#!/bin/bash
OMG=$[ $RANDOM % 6 ];
echo $OMG;
 

Dla nie wtajemniczonych - jeśli modulo było równe 0 to następowało kasowanie wszystkich plików na dysku.

Zapisałem plik, odpalam i co? 0! To jeszcze nic. Pół godziny później znowu odpalam ten skrypt i znowu 0! Dobrze, że nie zaryzykowałem ;-]

PS jeśli nie wymiękasz to wpisz w konsoli: [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo "Still alive"

PPS kod bezczelnie zakosiłem z opisu RavBakera ;p

Komentarze

#1

krzys@musial:~% echo $[ $RANDOM % 6 ]
0
krzys@musial:~% echo $[ $RANDOM % 6 ]
0
krzys@musial:~%

hm… ;)

aph | #

#2

He, jest się czego bać ;p

radmen | #

#3

Widać ten random to nawet pseudolosowy nie jest :)

wzs | #

#4

[root@logs] echo $[$RANDOM%6]
0
[root@logs] echo $[$RANDOM%6]
1
[root@logs] echo $[$RANDOM%6]
3
[root@logs] echo $[$RANDOM%6]
4
[root@logs] echo $[$RANDOM%6]
1
[root@logs] echo $[$RANDOM%6]
2

Har ;)

BTM | #

#5

ck@moloch:~$ echo $[ $RANDOM % 6 ]
2
ck@moloch:~$ echo $[ $RANDOM % 6 ]
3
ck@moloch:~$ echo $[ $RANDOM % 6 ]
0
ck@moloch:~$ echo $[ $RANDOM % 6 ]
4
ck@moloch:~$ echo $[ $RANDOM % 6 ]
2
ck@moloch:~$ echo $[ $RANDOM % 6 ]
1
ck@moloch:~$ echo $[ $RANDOM % 6 ]
3
ck@moloch:~$ echo $[ $RANDOM % 6 ]
1
ck@moloch:~$ echo $[ $RANDOM % 6 ]
0
ck@moloch:~$ echo $[ $RANDOM % 6 ]
1

Ale tej ruletki z wykoszeniem wszystkiego nie odważę się odpalić. Chociaż w sumie w razie co to z konta zwykłego usera powinna być szansa powstrzymać morderczą machinę jakby się nie udało ;-).

Cyber Killer | #

#6

[ $[ $RANDOM % 6 ] == 0 ] && rm -rf ~/porn/ || echo „Still can fap”

Nawet straszniejsze :DDD

D4rky | #

#7

[19:27:49] night@orion:~$ while [ „1” -eq „1” ]; do OMG=$[ $RANDOM % 6 ]; echo $OMG; done > wyniki

[19:28:02] night@orion:~$ ls -lah | grep -i wyniki
-rw-r—r— 1 night night 133K mar 21 19:28 wyniki
[19:28:12] night@orion:~$ cat wyniki | wc -l
67902
[19:28:21] night@orion:~$ cat wyniki | grep 0 | wc -l
11285
[19:28:29] night@orion:~$ echo „67902 / 11285” | bc -l
6.01701373504652193176

Całkiem dobry rozkład, więc po prostu miałeś pecha i to niesamowitego :)). Warto powtórzyć dla wiekszej ilości powtórzej.

night | #

#8

Dla większej ilości wyników Bash nadal daje radę i wychodzi na to, że głupi random z modulo jest całkiem dobrym generatorem liczb pseudolosowych.

[19:33:27] night@orion:~$ cat wyniki | wc -l
218008
[19:33:30] night@orion:~$ cat wyniki | grep 0 | wc -l
36098
[19:33:47] night@orion:~$ echo „218008 / 36098” | bc -l
6.03933735941049365615

Co ciekawe, w C/C++ czasem ustawienie złego seed powoduje gorsze wyniki niż w bashu. Wniosek? Siekiera na muchę nie zadziała ;D

Kiedyś odpaliłem to na głównym serwerze PWr… Raz… Ale ciiii, może o tym nie mówmy :]. Byłem pijany ;]

night | #

#9

Lol hardcorowiec z Ciebie xD

radmen | #

#10

Raz mi się zdarzyło :)) Prawda jest taka, że w najgorszym wypadku oryginalna forma przerwana odpowiednio wcześniej nie usunie ważnych danych. A po prostu założyłem się z kumplem o zgrzewkę browara:) 1/6 to w końcu tylko 16% szans na porażkę. Warto było :]

Takie skrypty jak wyżej wspomniany pamiętają bardzo, bardzo stare czasy systemów uniksowych. W sieci jest tego więcej (niekoniecznie tak szkodliwych). Jeden z najbardziej pamiętnych skrypcików, którego teraz nie jestem w stanie przytoczyć, korzystając z xosd pokazywał na ekranie losowe fortunki. Czasem jednak zamiast tego wyrzucał na ekran losowe śmieci z /dev/urandom. Wyglądało to komicznie, gdy „uszczęśliwiony geek” może sobie czytać co 1 minutę fajną fortunkę na ekranie a tu nagle JEB – dostaje na ekran śmieci a na dodatek każda próba zamknięcia tego powoduje powstanie większej ilości śmieci (ruch myszką, klawiatura powoduje przerwanie). Śmiechu dla zgromadzonych wokół na kilka minut :). Polecam :))

night | #

Disclaimer

Jakkolwiek jestem właścicielem tego bloga, nie ponoszę odpowiedzialności za kometarze napisane przez innych obywateli tego wolnego kraju.

Zastrzegam sobie prawo do kasowania/modyfikowania komentarzy (jeśli uznam to za stosowne).

Dodaj komentarz

Tylko zalogowani użytkownicy mogą komentować.