Hinweis : Diese Challenge ist jetzt für neue Cop-Einreichungen geschlossen. Dies soll sicherstellen, dass niemand Beiträge veröffentlichen kann, die nur ungerissen bleiben, weil nicht mehr genügend Räuber an der Herausforderung interessiert sind.
In diesem Spiel der Bullen und Räuber schreibt jeder Polizist ein einfaches Programm, um eine einzige Ausgabe zu erhalten. Sie werden dann vier Dinge über ihr Programm veröffentlichen:
- Die Sprache
- Die Programmlänge
- Die gewünschte Ausgabe
- Eine verschlüsselte Version des Quellcodes
Dann müssen die Räuber den Quellcode entschlüsseln, damit ihr Programm wie das Original funktioniert.
Cop-Regeln
Sie müssen ein einfaches Programm schreiben, das die Räuber neu zu erstellen versuchen.
Ihr ursprüngliches Programm muss eine einfache Funktionalität haben: Bei der Ausführung wird eine einzelne Zeichenfolge / Zahl ausgegeben und angehalten. Es sollte die gleiche Ausgabe geben, unabhängig davon, wann / wo es ausgeführt wird, und sollte nicht von zusätzlichen Bibliotheken oder dem Internet abhängen.
Ihr Programm und Ihre Ausgabe müssen druckbares ASCII verwenden (Zeilenumbrüche und Leerzeichen sind zulässig). Die Ausgabe sollte nicht länger als 100 Zeichen sein und es sollte weniger als 5 Sekunden dauern, bis das Programm auf einem vernünftigen Computer ausgeführt wird. Sie dürfen auch kein Hashing (oder andere kryptografische Funktionen) in Ihrem Programm verwenden
Anschließend stellen Sie eine verschlüsselte Version des Quellcodes und die erforderliche Ausgabe bereit. Sie können Ihren Quellcode nach Belieben verschlüsseln, solange die Zeichen erhalten bleiben.
Ihre Punktzahl ist die kürzeste Sendung, die Sie eingereicht haben und die noch nicht geknackt wurde. Nach einem Zeitraum von einer Woche wird eine ungerissene Vorlage immun. Um diese Immunität zu beanspruchen, sollten Sie Ihre Antwort bearbeiten, um die richtige Antwort anzuzeigen. (Klarstellung: Bis Sie die Antwort enthüllen, sind Sie nicht immun und können trotzdem geknackt werden.) Die niedrigste Punktzahl gewinnt.
Einfaches Beispiel Cop Answers
Perl, 20
ellir"lnto Wo d";prH
Hello World
Oder...
Perl, 15
*3i)xp3rn3*x3t(
272727
Räuberregeln
Räuber werden ihre Crackversuche als Antworten in einem separaten Thread veröffentlichen, der sich hier befindet .
Sie haben einen Versuch, jede Einreichung zu knacken. Ihr Cracking-Versuch wird eine unverschlüsselte Version des Quellcodes sein. Wenn Ihre Vermutung mit der Beschreibung übereinstimmt (gleiche Zeichen, Ausgabe und natürlich Sprache) und Sie die erste richtige Vermutung sind, dann gewinnen Sie einen Punkt. Es ist wichtig zu beachten, dass Ihr Programm nicht exakt mit dem Original übereinstimmen muss, sondern einfach dieselben Zeichen und dieselbe Funktionalität verwendet. Dies bedeutet, dass es mehr als eine richtige Antwort geben kann.
Der Räuber mit den meisten Punkten (erfolgreiche Risse) gewinnt.
Einfaches Beispiel Raub Antworten
Ihr Programm war
print "Hello World";
. (Hätteprint"Hello World" ;
zwar auch funktionieren können.)Ihr Programm war
print(3**3x3)x3
Sichere Einreichungen
- ASP / ASP.Net, 14 (Jamie Barker)
- Befunge-98, 15 (FireFly)
- GolfScript, 16 (Peter Taylor)
- CJam, 19 (DLosc)
- GolfScript, 20 (Benutzer23013)
- Perl, 21 (primo)
- Python, 23 (mbomb007)
- Ruby, 27 (Histokrat)
- SAS, 28 (ConMan)
- Ruby, 29 (Histokrat)
- Python, 30 (mbomb007)
- JavaScript, 31 (hsl)
- Ruby, 33 (Histokrat)
- Marbelous, 37 (es1024)
- Ruby, 43 (Histokrat)
- PHP, 44 (Kenorb)
- Rubin, 45 (Histokrat)
- Marbelous, 45 (es1024)
- Python 2, 45 (Emil)
- PHP, 46 (Ismael Miguel)
- Haskell, 48 (nooodl)
- Python, 51 (DLosc)
- Python, 60 (Sp3000)
- Python 2, 62 (Schlammfisch)
- JavaScript, 68 (Jamie Barker)
- Mathematica, 73 (Arcinde)
- Haskell, 77 (Stolzhaskeller)
- Python, 90 (DLosc)
- C ++, 104 (user23013)
- ECMAScript 6, 116 (Mateon1)
- C ++ 11, 121 (es1024)
- Grass, 134 (user23013)
- PowerShell, 182 (christopherw)
Ungelöste Einsendungen
In der Reihenfolge der Veröffentlichung. Diese Liste mit freundlicher Genehmigung vieler Benutzer.
- CoffeeScript, 96 (Soktinpk)
- Python 3, 70 (Sp3000)
- TinyMUSH 3.1, 20 (Muqo)
- GolfScript, 32 (Betazerfall)
- Python 2, 101 (Mateon1)
- Lua, 49 (ChipperNickel)
- Python, 61 (imallett)
- Java 6+, 218 (nhahtdh)
- CJam, 51 (Martin Büttner)
- J, 22 (FireFly)
- Marbelous, 106 (es1024)
- Marbelous, 107 (es1024)
- JavaScript, 79 (FireFly)
- CJam, 47 (user23013)
- Rust, 118 + Clojure, 106 + andere (Vi.) - Version 2
- Marbelous, 144 (es1024)
- Python 2, 80 (MrWonderful)
- Perl, 53 (DLosc)
- Perl, 26 (primo)
- Mathematica, 31 (Arcinde)
- Marbelous, 144 (es1024)
- Versammlung, 78 (krzygorz)
- J, 14 (Algorithmushai)
- Java 8, 157 (TheBestOne)
Ein kleines Tool zur Überprüfung von Lösungen, mit freundlicher Genehmigung von n̴̖̋h̴̖̋ã̷͉h̷̭̿d̷̰̀ĥ̷̳
quelle
Antworten:
Python 3, Größe 74 ( Cracked )
Python war einfach nicht dasselbe, nachdem er von Big Brother umerzogen wurde.
Eingang:
Am Ende der Zeilen 1 und 2 befinden sich zwei Zeilenumbrüche.
Ausgabe:
Beachten Sie, dass sich jeder
True
in einer eigenen Zeile befindet.quelle
2+2==5
als vierte Aussage, bis ich fand, dass das=
es zu einfach machte.Python 3, Größe 12 ( Cracked )
Mein Programm erzeugt keine Ausgabe und keine Fehler.
quelle
int
für eine Weile unterwegs.python
meine Lösung eingebe und sie dann an der Eingabeaufforderung eingebe. Aber es funktioniert, wenn ich meine Lösung in eine Datei lege und tippepython file
.CJam, Größe 20 ( Cracked )
Code
Ausgabe
quelle
Python 2, Größe 50
Geknackt
Wir kennen die Antwort auf die Frage bereits, aber wie lautet die Frage?
Code
Beachten Sie, dass keine nachgestellten Leerzeichen oder Zeilenumbrüche vorhanden sind. Das einzige Leerzeichen ist das einzelne Leerzeichen danach
print
.Ausgabe
Ich habe versucht, Codelänge und -schwierigkeiten auszugleichen, aber es würde mich nicht überraschen, wenn ich es irgendwie verpasst hätte. Hoffentlich reicht es zumindest, um brachiale Gewalt zu unterbinden.
quelle
Pyth - 71 Gebrochen
Code
Ausgabe
* Ursprünglich ließ George Lucas Han C3-PO unterbrechen. **
** Er nannte dies seine größte Idee seit Jar-Jar.
Interessanter Hinweis: Trotz aller Änderungen, die Pyth durchlaufen hat, gibt es hier immer noch eine gültige Antwort!
Original
Erläuterung
Aktualisiert
Entschuldigung für die schlechte Formatierung der Erklärung, ich weiß nicht, wie man Spoilerblöcke verwendet: S (@ Sp3000 hat es für Sie allerdings ein bisschen netter gemacht)
Jetzt können Sie Pyth online ausführen! Probieren Sie es hier aus. Danke @isaacg :)
quelle
<br>
CJam, Größe 51 [SAFE]
Code
Ausgabe
Sie können damit im Online-Dolmetscher herumspielen .
Dies sollte knackbarer sein, als es aussieht.
Hinweis
Lösung
quelle
Befunge-98, Größe 15 [SAFE]
Code
Ausgabe
Original
quelle
3312
,3300
und einige andere in der Nähe3314
. So nah ...GolfScript (16 Byte) [SICHER]
Erwartete Ausgabe:
Originalquelle:
quelle
:
.Rubin, 17 ( Gebrochen )
Dieses Mal etwas sehr Kurzes anstreben.
Ausgabe:
quelle
Python, 69 Zeichen [ geknackt von grc ]
Verschlüsselt:
Ausgabe:
Dies ist nur ein harmloser Spaß :) Getestet mit CPython 2.7.8, 3.3.2 und zum Teufel mit PyPy3 2.3.1.
Erläuterung
quelle
Python, Größe 56 ( geknackt )
Code
for i in "iprint()".join(([2,3,7,0,9,chr((-7+732^70)])))
Ausgabe
hi mom
quelle
Python 3, 70 Zeichen
Verschlüsselt:
Ausgabe (99 Zeichen lang):
Aktualisieren
Es ist eine Woche vergangen, daher hier ein Hinweis, anstatt die Antwort zu veröffentlichen:
quelle
Pyth , 11
Ausgabe:
quelle
JavaScript, 94 Von FireFly geknackt
Ausgabe
Original
quelle
alert
zuerst getan haben, da die Indizes so gut mit den benötigten Zeichen übereinstimmen. Interessanter Zufall.Syntax Error: Unexpected String
Ruby, 38 - von Martin Büttner geknackt
Ausgabe:
Original:
quelle
print
unddowncase!
waren rote Heringe. Ich erwartete die Antwort zu verwendenputs
, dachte nicht an$><<
.Python 3, Größe 16 ( Cracked )
Code:
Ausgabe (mit Zeilenumbruch am Ende):
quelle
hello
ein Anagramm von warenimport
. ^^Perl - 47 ( geknackt von grc )
Code (dort ist auch ein Leerzeichen)
Ausgabe:
Sie können es hier online ausführen und es funktioniert unter
strict
undwarnings
.quelle
strict
undwarnings
lassen Sie es mich wissen.Ruby, 33 - von user23013 geknackt
Ausgabe:
Original:
quelle
puts
wird offensichtlich das erste sein, das es gibt,.next
ein anderes Schlüsselwort, das verwendet werden kann, und der Rest ist eine Art Zauberei mit$
Python2, 132 Zeichen
Ausgabe (mit einem Zeilenumbruch):
Aktualisierte Version, 96 Zeichen
Als Antwort auf die ursprüngliche Version wird
exec
anstelle voncompile
+ vorgeschlageneval
, daher hier eine vereinfachte Version:Update: rissig
Vollständig geknackt von Alex Van Liew und KennyTM . Die ursprünglichen Lösungen lauteten (scrollen Sie nach rechts, um den Spoiler anzuzeigen):
quelle
\n
in String-Literalen). Bei Zeilenumbrüchen könnte der Code kürzer sein.x
s undc
s für mich zu tun, was ich tun möchte: PDon't count ones which exist. Count ones which do not exist
.Ruby, 29 [sicher]
Ich versuche zu sehen, wie kurz ich in Ruby komme, ohne geknackt zu werden.
Code
Ausgabe
Original
Erläuterung
quelle
PHP, Größe 49 [ Gebrochen von Martin Büttner ]
Code
Ausgabe
quelle
MATLAB, 41 Bytes
Von feersum geknackt
Ausgabe
quelle
Perl, 36 ← von grc geknackt
Code
Ausgabe
Hier getestet
quelle
Haskell, 100 Zeichen (ungültig, Ausgabe zu lang)
Code
Ausgabe:
"\er\\e\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\"\\\\\\\\\\\\\"\\\\\\\
Original
quelle
fix show
. Auf jeden Fall nicht zu knackenJ, 22 Bytes
Code
Ausgabe (97 Zeichen)
Ich erwarte, dass dies praktisch unmöglich sein wird ...
quelle
CJam, 32 Bytes ( geknackt )
Verwürfelte Quelle
Ausgabe
quelle
Pyth - 35 - Gebrochen
Im Geiste von @ MartinBüttner:
Code
Ausgabe
Versuchen Sie es hier online zu dekodieren.
quelle
TinyMUSH 3.1 , 20
Verschlüsselt:
Ausgabe:
quelle
Python 3, Länge 110 [ geknackt von grc ]
Scrambled (
\n
bezeichnet eine Newline)Ausgabe:
Hier ist ein weiterer lustiger Teil - nicht als schwierig gedacht, sondern nur als ungewöhnlich und rätselhaft. :)
Erläuterung
quelle
Javascript, 29 - Gebrochen
Führen Sie eine Chrome-Browserkonsole aus
Code
Ausgabe
Originalcode
quelle