Underhanded launcher [zamknięte]

11

Twoim celem jest napisanie super tajnego programu, który uruchamia inny (niezależny) program. W odpowiedzi nie musisz podawać ładunku, może to być dowolna nazwa programu, który program uruchomi.

Wyzwaniem jest jednak zachowanie tego zachowania w tajemnicy. Po przypadkowej kontroli kodu powinno być niemożliwe lub bardzo trudne do zauważenia, że ​​twój program faktycznie wykonuje program obcy. Premia, jeśli ta „ukryta funkcja”, po jej wykryciu, może zostać racjonalnie wyjaśniona jako niezamierzony błąd. Dlatego kod musi być jak najbardziej przejrzysty, a wszystko powinno mieć alibi na obecność, w przeciwnym razie ktoś sprawdzający twój kod może stać się podejrzany.

Pamiętaj, że to nie jest gra w golfa kodowego, ale zawody o słabej jakości .

  • Twój kod musi być przejrzysty i czytelny.
  • Przyczyny zmiany muszą być ukryte. Nawet jeśli zostaną odkryte, powinny bardziej przypominać robaki niż złośliwość.

Powinieneś podać wyjaśnienie, najlepiej w spoilerze.

lubię to

Zwycięzca zostanie wybrany jako najwyższa głosowana odpowiedź nie wcześniej niż 10 dni po pierwszej ważnej odpowiedzi. Tak, wiem, że to subiektywne, ale są to jedyne kryteria odpowiednie dla zawodów o słabej jakości.

Wyborcy powinni docenić standardowe „podstępne” cechy, takie jak to, jak przejrzysty jest kod i jak dobrze ukryty jest powód.

Zrobiłem ten konkurs dla języków skompilowanych, ale możesz również używać języków interpretowanych, jeśli znajdziesz dwóch różnych godnych uwagi tłumaczy.

vsz
źródło
Zwykle niedoceniane konkursy określają „uzasadnione” zadanie, które program powinien wykonać. Pomaga skoncentrować wysiłki.
ugoren,
3
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ słabe wyzwania nie są już na ten temat na tej stronie. meta.codegolf.stackexchange.com/a/8326/20469
kot

Odpowiedzi:

5

Tcl

Prosty.

proc main {} {
    set fd [open filenames.txt]
    while {[gets $fd line] ne ""} {
        set other [open $line w]
        puts $other [clock format [clock seconds]]
    }
}
main

Ilmari Karonen ma rację:
jeśli podasz nazwę pliku |jako pierwszy znak, resztę traktuje jak polecenie. IIRC dla Perla musi być na końcu.

Johannes Kuhn
źródło
2
+1. Ps. Ta sama sztuczka działa również w Perlu i w każdym innym języku, który ma odpowiednią funkcję „magicznego otwarcia”.
Ilmari Karonen
2
„IIRC dla Perla musi być na końcu.” - W rzeczywistości musi być umieszczony zgodnie z zamierzonym kierunkiem przesyłania danych. pastebin.com/ZnTr7ezg
manatwork
Interesujące Często korzystałem z tej „funkcji” z niestandardowymi poleceniami webmina. Potrzebujesz listy wszystkich domen w menu rozwijanym? Użyj tej funkcji.
Johannes Kuhn
5

JavaScript

if(document.location.href = 'http://www.example.com') foo();

„document.loaction.href = 'http; // www.example.com'” ustawia lokalizację strony na „http; // www.example.com” zamiast testować lokalizację strony na „http; // www .example.com ”.

Jest to język interpretowany, więc oto dwóch tłumaczy: SpiderMonkey i Google Chrome.

Niebieskie owce
źródło
2
To właściwie dość oczywiste. Jest znany jako „ostatni błąd świata” z powodu starego dowcipu, że wybuchłaby If (AlertValue = RED) LaunchNukes();
Mason Wheeler