Istnieje wiele pytań dotyczących tej koncepcji, ale wszystkie one wydają się po prostu powodować awarię, w wyniku czego powstaje wiele odpowiedzi, które są bardzo wyraźnie zaprojektowane, aby spowodować awarię. Wyzwaniem, które postawiłem przed tobą, jest napisanie jakiegoś wiarygodnego kodu (chociaż to, co kody mają „intencją”, pozostawiam tobie), powoduje awarię całego docelowego systemu operacyjnego lub po prostu samego, w sposób, który nie jest od razu oczywisty. (Zdaję sobie sprawę, że to, co liczy się jako „natychmiast oczywiste”, jest subiektywne, ale mam nadzieję, że wyzwanie jest nadal dość jasne).
Zwycięzca jest odpowiedzią z największą liczbą głosów po 5 dniach.
popularity-contest
underhanded
w4etwetewtwet
źródło
źródło
Odpowiedzi:
C, Linux. Awaria systemu, jeśli działa jako root
Zmiana
!=
na=!
niewinne porównanie zamienia się w zadanie. A biorąc pod uwagę, że pid 1 jestinit
, a zabijanieinit
powoduje panikę jądra, nie jest to kod, który chciałbyś uruchomić jako root :)źródło
SIGSEGV
się za pomocą kodu numerycznego. W końcu to mógł być błąd.DO#
Po prostu zainicjujmy listę bajtów każdą wartością bajtu od 0 do 255.
Brak pamięci? Pamiętam wyraźnie, że zainstalowałem ponad 256 bajtów ...
Spojler:
źródło
str.toLowerCase().split('').map(function(c) { return c < 'a' || c > 'z' ? c : String.fromCharCode(((c.charCodeAt(0) - 'a'.charCodeAt(0) + 13) % 26) + 'a'.charCodeAt(0)); }).join('')
do
(Ostrzeżenia kompilatora to zdradzą.)
źródło
JavaScript
Działa Quicksort, z wyjątkiem faktu, że brak średnika w linii, którą zaznaczyłem komentarzem, powoduje, że jest on źle analizowany i ulega awarii.
Dodanie średnika na końcu tego wiersza rozwiązuje ten problem.
źródło
C ++
Wprowadza nazwy i przechowuje je w wektorze. Wyświetla nazwy po wprowadzeniu wartości flagi. Pyta, czy użytkownik pomyślał o większej liczbie nazw; jeśli tak, wprowadź nazwy.
W przypadku użytkowników innych niż C ++, Java, C błąd występuje w instrukcji
print()
sfor
. Tak powinno byćfor (int i = 0; i < names.size(); i++)
. Jest to łatwy błąd do zrobienia i przeoczenia (dopóki nie pojawi się komunikat kompilatora), ponieważ ma on tylko 1 znak i ponieważ operator> = jest czasami wymagany wfor
pętlach.źródło
print()
gdzieś później w kodzie, aby czytelnik zmęczył się przed popełnieniem błędu :)GTB
Awaria kalkulatora, ponieważ tak
[_+
powinno być["_"+
, ale ponieważ tak nie jest, w kalkulatorze zabrakło pamięci, potencjalnie usuwając pamięć RAM w niewłaściwy sposób.źródło
["_"+
wygląda jak twarz trochę mnie zdenerwowana