Note : Ce défi est maintenant fermé aux nouvelles soumissions de flic. Ceci afin de garantir que personne ne puisse poster des soumissions qui ne sont pas craquées parce qu'il n'y a plus assez de voleurs intéressés par le défi.
Dans ce jeu de flics-and-robbers, chaque flic écrira un programme simple pour donner une sortie unique. Ils vont ensuite rendre publiques quatre choses à propos de leur programme:
- La langue
- La durée du programme
- La sortie désirée
- Une version brouillée du code source
Ensuite, les cambrioleurs doivent déchiffrer le code source afin que leur programme fonctionne comme l’original.
Règles du flic
Vous devez écrire un programme simple, que les voleurs essaieront de recréer.
Votre programme d'origine doit avoir une fonctionnalité simple: lors de son exécution, il génère une seule chaîne / nombre et s'arrête. Il devrait donner le même résultat, quel que soit le moment, le lieu où il est exécuté, et ne devrait pas dépendre de bibliothèques supplémentaires ou d’Internet.
Votre programme et votre sortie doivent utiliser un fichier ASCII imprimable (nouvelles lignes et espaces autorisés). La sortie ne doit pas comporter plus de 100 caractères et le programme doit prendre moins de 5 secondes environ pour s'exécuter sur une machine raisonnable. Vous n'êtes également pas autorisé à utiliser le hachage (ou d'autres fonctions cryptographiques) dans votre programme.
Ensuite, vous fournissez une version brouillée du code source et la sortie requise. Vous pouvez brouiller votre code source comme bon vous semble, tant que les caractères sont conservés.
Votre score est le programme le plus court que vous avez soumis et qui n'a pas été fissuré. Après une période d'une semaine, une soumission non fissurée sera immunisée. Afin de réclamer cette immunité, vous devez modifier votre réponse pour indiquer la réponse correcte. (Précision: jusqu'à ce que vous révéliez la réponse, vous n'êtes pas à l'abri et vous pouvez toujours être fissuré.) Le score le plus bas l'emporte.
Exemple Simple Réponses Cop
Perl, 20
ellir"lnto Wo d";prH
Hello World
Ou...
Perl, 15
*3i)xp3rn3*x3t(
272727
Règles de voleur
Les voleurs publieront leurs tentatives de crack en tant que réponses dans un fil séparé, situé ici .
Vous avez une tentative de casser chaque soumission. Votre tentative de cracking sera une version non cryptée du code source. Si votre proposition correspond à la description (mêmes caractères, même résultat, et bien sûr, votre langue) et que vous êtes la première proposition correcte, vous gagnez un point. Il est important de noter que votre programme ne doit pas nécessairement correspondre exactement à l'original, utilisez simplement les mêmes caractères et disposez des mêmes fonctionnalités. Cela signifie qu'il pourrait y avoir plus d'une réponse correcte.
Le voleur avec le plus de points (réussies) gagne.
Exemple Simple Voleur Réponses
Votre programme était
print "Hello World";
. (Bien queprint"Hello World" ;
pourrait également avoir fonctionné.)Votre programme était
print(3**3x3)x3
Soumissions sécurisées
- ASP / ASP.Net, 14 (Jamie Barker)
- Befunge-98, 15 (FireFly)
- GolfScript, 16 ans (Peter Taylor)
- CJam, 19 ans (DLosc)
- GolfScript, 20 (utilisateur23013)
- Perl, 21 ans (primo)
- Python, 23 (mbomb007)
- Ruby, 27 ans (histocrate)
- SAS, 28 ans (ConMan)
- Ruby, 29 ans (histocrate)
- Python, 30 (mbomb007)
- JavaScript, 31 (hsl)
- Ruby, 33 ans (histocrate)
- Marbelous, 37 (es1024)
- Ruby, 43 ans (histocrate)
- PHP, 44 (Kenorb)
- Ruby, 45 ans (histocrate)
- Marbelous, 45 (es1024)
- Python 2, 45 (Emil)
- PHP, 46 ans (Ismael Miguel)
- Haskell, 48 ans (nooodl)
- Python, 51 (DLosc)
- Python, 60 (Sp3000)
- Python 2, 62 (poisson vaseux)
- JavaScript, 68 (Jamie Barker)
- Mathematica, 73 (Arcinde)
- Haskell, 77 ans (fier fierté)
- Python, 90 (DLosc)
- C ++, 104 (utilisateur23013)
- ECMAScript 6, 116 (Mateon1)
- C ++ 11, 121 (es1024)
- Herbe, 134 (utilisateur23013)
- PowerShell, 182 (christopherw)
Soumissions non résolues
En ordre chronologique Cette liste est une gracieuseté de nombreux utilisateurs.
- CoffeeScript, 96 (soktinpk)
- Python 3, 70 (Sp3000)
- TinyMUSH 3.1, 20 (Muqo)
- GolfScript, 32 (désintégration bêta)
- Python 2, 101 (Mateon1)
- Lua, 49 ans (ChipperNickel)
- Python, 61 ans (imallett)
- Java 6+, 218 (nhahtdh)
- CJam, 51 ans (Martin Büttner)
- J, 22 (FireFly)
- Marbelous, 106 (es1024)
- Marbelous, 107 (es1024)
- JavaScript, 79 (FireFly)
- CJam, 47 (utilisateur23013)
- Rust, 118 + Clojure, 106 + autres (Vi.) - version 2
- Marbelous, 144 (es1024)
- Python 2, 80 (MrWonderful)
- Perl, 53 (DLosc)
- Perl, 26 ans (primo)
- Mathematica, 31 (Arcinde)
- Marbelous, 144 (es1024)
- Assemblée, 78 (krzygorz)
- J, 14 (algorithmshark)
- Java 8, 157 (TheBestOne)
Un petit outil pour vérifier les solutions, gracieuseté de n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳
la source
Réponses:
Python 3, taille 74 ( fissuré )
Python n'était plus le même après avoir été rééduqué par Big Brother.
Contribution:
Il y a deux nouvelles lignes à la fin des lignes 1 et 2.
Sortie:
Notez que chacun
True
est dans sa propre ligne.la source
2+2==5
une quatrième déclaration jusqu'à ce que je trouve=
cela trop facile.Python 3, taille 12 ( fissuré )
Mon programme ne produit aucune sortie et aucune erreur.
la source
int
depuis un moment.python
et que je tape ensuite ma solution à l'invite. Mais cela fonctionne, si je mets ma solution dans un fichier et le typepython file
.CJam, taille 20 ( fissuré) )
Code
Sortie
la source
Python 2, taille 50
Fissuré
Nous connaissons déjà la réponse à la question, mais quelle est la question?
Code
Notez qu'il n'y a pas d'espaces de fin ni de nouvelles lignes. Le seul caractère d'espacement est l'unique espace après
print
.Sortie
J'ai essayé d'équilibrer la longueur du code et les difficultés, mais cela ne me surprendrait pas si je le manquais un peu. Espérons que cela suffira à décourager la force brute, au moins.
la source
Pyth - 71 fissuré
Code
Sortie
* À l'origine, George Lucas avait demandé à Han d'interrompre C3-PO. **
** Il a appelé cela sa plus grande idée depuis Jar-Jar.
Note intéressante: malgré tous les changements que Pyth a subis, il reste une réponse valable ici!
Original
Explication
Mis à jour
Désolé pour la mauvaise mise en forme des explications, je ne sais pas comment utiliser les blocs de spoiler: S (@ Sp3000 l’a rendu un peu plus agréable pour vous, cependant)
Maintenant, vous pouvez utiliser Pyth en ligne! Essayez ici. Merci @isaacg :)
la source
<br>
CJam, taille 51 [SAFE]
Code
Sortie
Vous pouvez jouer avec cela dans l'interprète en ligne .
Cela devrait être plus craquable qu'il n'y paraît.
Allusion
Solution
la source
Befunge-98, taille 15 [SAFE]
Code
Sortie
Original
la source
3312
,3300
et plusieurs autres à proximité3314
. Si proche ...GolfScript (16 bytes) [SAFE]
Production attendue:
Source primaire:
la source
:
.Ruby, 17 ans ( fissuré) )
Aller pour quelque chose de vraiment court cette fois.
Sortie:
la source
Python, 69 caractères [ fissuré par grc ]
Brouillé:
Sortie:
Celui-ci est juste un amusement sans danger :) Testé sur CPython 2.7.8, 3.3.2 et pour le plaisir de le faire PyPy3 2.3.1.
Explication
la source
Python, taille 56 ( fissuré )
Code
for i in "iprint()".join(([2,3,7,0,9,chr((-7+732^70)])))
Sortie
hi mom
la source
Python 3, 70 caractères
Brouillé:
Sortie (99 caractères):
Mise à jour
Cela fait une semaine, alors plutôt que d'afficher la réponse, voici un indice:
la source
Pyth , 11
Sortie:
la source
JavaScript, 94 fissuré par FireFly
Sortie
Original
la source
alert
premier, car les index correspondaient si bien aux caractères nécessaires. Coïncidence intéressante.Syntax Error: Unexpected String
Ruby, 38 ans - fissuré par Martin Büttner
Sortie:
Original:
la source
print
etdowncase!
étaient des harengs rouges. Je m'attendais à ce que la réponse soit utiliséeputs
, je n'y ai pas pensé$><<
.Python 3, taille 16 ( fissuré )
Code:
Sortie (avec nouvelle ligne à la fin):
la source
hello
étaient un anagramme deimport
. ^^Perl - 47 ( fissuré par grc )
Code (il y a un espace là aussi)
Sortie:
Vous pouvez le lancer en ligne ici et ça marche sous
strict
etwarnings
.la source
strict
,warnings
faites-le moi savoir.Ruby, 33 ans - fissuré par l'utilisateur23013
Sortie:
Original:
la source
puts
c’est évidemment la première chose à faire,.next
c’est un autre mot clé qui peut être utilisé, et le reste est une sorte de sorcellerie avec des$
variables ruby et la création de tableaux de caractères .... +1Python2, 132 caractères
Sortie (avec une nouvelle ligne):
Version mise à jour, 96 caractères
Réponse à la version originale suggéré le
exec
au lieu decompile
+eval
, voici donc une version simplifiée:Mise à jour: fissuré
Entièrement fissuré par Alex Van Liew et KennyTM . Les solutions originales étaient (faites défiler à droite pour révéler le spoiler):
la source
\n
littéraux à l' intérieur des chaînes). Avec les nouvelles lignes, le code pourrait être plus court.x
s etc
s pour que je fasse ce que je veux faire: PDon't count ones which exist. Count ones which do not exist
.Ruby, 29 [sûr]
J'essaie de voir à quel point je peux être bref en Ruby sans me faire craquer.
Code
Sortie
Original
Explication
la source
PHP, taille 49 [ Cracked by Martin Büttner ]
Code
Sortie
la source
MATLAB, 41 octets
Craqué par feersum
Sortie
la source
Perl, 36 ← fissuré par grc
Code
Sortie
Testé ici
la source
Haskell, 100 caractères (non valide, sortie trop longue)
Code
Sortie:
"\er\\e\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\\\\\\"\\\\\\\\\\\\\"\\\\\\\
Original
la source
fix show
. Absolument incroyableJ, 22 octets
Code
Sortie (97 caractères)
Je m'attends à ce que ce soit pratiquement impossible ...
la source
CJam, 32 octets ( fissuré) )
Source brouillée
Sortie
la source
Pyth - 35 - Cracked
Dans l'esprit de @ MartinBüttner:
Code
Sortie
Essayez de le décoder en ligne ici.
la source
TinyMUSH 3.1 , 20
Brouillé:
Sortie:
la source
Python 3, longueur 110 [ fissuré par grc ]
Scrambled (
\n
dénote une nouvelle ligne)Sortie:
En voici un autre amusant - qui n'est pas censé être dur, mais qui est quelque chose d'inhabituel et de mystérieux. :)
Explication
la source
Javascript, 29 - Fissuré
Exécuter dans une console de navigateur Chrome
Code
Sortie
Code d'origine
la source