Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » Le puzzle de l'Avent 2018 : Débriefing et solutions
Lephenixnoir Hors ligne Administrateur Points: 24698 Défis: 170 Message

Le puzzle de l'Avent 2018 : Débriefing et solutions

Posté le 01/01/2019 22:01

En Décembre, nous avons organisé le Puzzle de l'Avent, une grande énigme logique et mathématique avec une calculatrice à remporter. C'est l'heure de revenir sur vos découvertes et les solutions !

Avant de commencer, par curiosité j'aimerais que tous ceux qui ont cherché (même juste un peu) le puzzle disent ce qu'ils ont trouvé. Les objectifs sont multiples :
• Évaluer la difficulté de l'énigme proposée et la pertinence des indices ;
• À des fins pures de statistiques pour les événements du site ;
• Pour savoir si ça vous a plu et envisager d'en organiser d'autres dans le même genre.
Merci !

Rappelons les règles : il fallait reconstituer le puzzle et trouver la phrase-mystère cachée dans l'énigme. Pour le puzzle, la solution a été donnée par Krevo_ mais je pense que vous y seriez tous arrivés sans souci. La seule chose à remarquer est que les dimensions de l'image étaient 384×216, la surface utilisable dans un add-in programmé sur Graph 90+E, le seul modèle moderne capable d'afficher une image en couleurs. Voici l'image complète, signée votre serviteur :


Les séquences de 6 chiffres et lettres servaient de checkpoint, en quelque sorte, pour s'assurer que vous passiez bien au bon endroit. Il y en avait deux à trouver : 9L3AF4 et LINK24.

Je vais d'abord vous donner la solution, ensuite j'y ajouterai une explication de tous les indices.

Solution étape-par-étape : le message Arécibo.

La première chose à faire était de remarquer que certaines pièces du panneau inférieur comportaient des pixels irréguliers formant un QR Code :


Ce n'est pas facile à voir car j'avais choisi des couleurs volontairement très proches pour produire un effet stéganographique. Pour s'en apercevoir, il fallait jouer très fort avec les couleurs ou simplement faire une sélection par couleur dans un outil d'édition :


Il y avait donc la partie supérieure et la partie inférieure séparées. Hasard ? Non. Car pour obtenir le QR code d'origine flashable, il fallait transposer horizontalement la partie supérieure.



Ce QR Code contenait l'URL planet-casio.com/Fr/4v3n7mMxv111.php, un petit script prévu pour l'occasion qui redirige vers la page d'un programme de dessin pour fx-92 SC+. Pas d'autre choix que de recopier ou exécuter le programme à la main, pour obtenir une image du message Arécibo légèrement modifiée :



Et voici le premier code de l'énigme : 9L3AF4 !

Solution étape-par-étape : le papillon.

J'ai ensuite posté le 10 Décembre, dans une discréation totale () le programme Nollipap pour Graph 90+E. Il s'agit d'un papillon dessiné par Critor de façon probabiliste sur un fond représentant une forêt. Une fois que l'utilisateur a appuyé sur 6 touches, le programme s'arrête et affiche un message généralement cryptique.


La forme du papillon, comme le fond choisi, évoquent une idée de symétrie horizontale, tout comme le titre du programme qui était en fait un indice pour la transposition du QR Code à l'étape précédente !

Ici donc, pas de miracle : il suffit de taper le code obtenu à l'étape précédente, et puisque c'est un nollipap, il faut le taper à l'envers : 4FA3L9, ce qui se lit sur le clavier :

[4], [tan], [X,θ,T], [3], [→], [9]

Le nollipap affiche alors le message secret : REV STEGANO!, où STEGANO fait bien sûr référence à la stéganographie que l'on a croisé avant, et REV signifie plusieurs choses : revoir ou revisiter mais aussi reverse, le plus important !

Solution étape-par-étape : le code morse.

Forts de cette découverte, on retourne sur l'image pour remarque une deuxième séquence stéganographiée et ouvertement affichée :


Elle semble représenter un signal binaire, comme du morse. Cependant, et c'est là l'astuce, pour interpréter cette séquence il faut utiliser le sens reverse et échanger les deux parties du signal. Les parties à 1 deviennent 0 et celles à 0 deviennent 1. Le véritable message est le suivant :


La première partie se traduit en morse par LINK et la seconde par 24. Et voici le second code secret de l'énigme, LINK24 !

Solution étape-par-étape : la finale.

Bien sûr, link n'évoque pas ici le protagoniste de la série Zelda qui était le thème d'illustration de notre triconcours de rentrée, mais bien un lien hypertexte. La promesse est claire : il y aura un lien hypertexte à suivre le 24 Décembre !

C'est ici que se trouve la plus grosse fourberie de l'ensemble, je pense : j'ai caché le lien dans la liste des indices, à l'entrée « 24 Décembre », en introduisant dedans un caractère Unicode bien connu des trolleurs : U+200B ZERO WIDTH SPACE, un espace invisible pusiqu'il n'a pas de largeur. Vous pouviez trouver le lien en cherchant dans les outils développeurs de votre navigateur, comme le montre cette capture d'écran !


La cible du lien n'est pas une URL mais la phrase suivante :

Product of all numbers (not digits) in the 6-character secret codes

Et il n'y a pas d'erreur, c'est bien codes au pluriel puisqu'il y a deux codes secrets, 9L3AF4 et LINK24. Le produit de tous les nombres qu'ils contiennent est 9×3×4×24 = 2592. Certains indices indiquaient de façon très explicite qu'il fallait chercher un numéro du programme, et cet ID mène à mon add-in "Jeu de la vie". Je garde pour moi le secret de cette coïncidence ! :o

Et voici, mesdames et messieurs, cachée en blanc dans la description du programme, la solution du problème, apparente dès que vous sélectionnez le texte !


Je l'ai changée à deux reprises ; bravo encore à Krevo_ et Dark Storm qui ont complètement hacké notre énigme en sautant chacun plusieurs étapes. Je leur laisse le plaisir de vous présenter les méthodes originales qu'ils ont utilisées pour arriver à leurs fins !

Explication des indices

Indice n°1 (charade) : Tout simplement « l'énigme », le thème de l'événement.

Indice n°2 (charade) : Il s'agit de « trouve ».

Indice n°3 (charade) : La solution est « image », indiquant que l'image à reconstituer fait partie de l'énigme.

Indice n°4 (trois sens) : Une symétrie en vaut deux...
Plus d'une fois, les indices du puzzle devaient être réutilisées à plusieurs occasion. Ici, on aurait pu partir sur une symétrie en vaut trois car il faut s'y référer pour (1) transposer horizontalement la partie haute du QR Code, (2) épeler le premier code à l'envers pour le nollipap, et (3) intervertir les 0 et les 1 dans le code morse.

Indice n°5 (deux sens) : Une pièce peut en cacher une autre...
Ici, une pièce de l'image à reconstituer peut cacher une pièce du puzzle, à savoir le QR Code. Comme Dark Storm l'a relevé avec finesse, « ça pue la stéganographie » ! Il fallait donc l'utiliser à deux occurrences : pour trouver le QR Code et pour trouver le message en morse inversé.

Indice n°6 : Quel est le point commun entre un téléphone et une fx-92+ Spéciale Collège ?
Le QR Code, ni plus ni moins. La fx-92 SC+ les produit et les téléphones les déchiffrent !

Indice n°7 (charade) : Encore une fois on insiste sur le « dessin », qui contient de nombreux éléments de l'énigme.

Indice n°8 (charade) : « bas à gauche », soit la localisation d'un des morceaux du QR Code. Il était prévu de mettre le code en un seul morceaux à cet endroit-là à l'origine.

Indice n°9 : Êtes vous sûr que cette surface est unie ?
Référence brute de décoffrage à la stéganographie. Là, les premiers ont commencé à faire sortir le code.

Indice n°10 : ♫ 0x51, 0x52, f-x 9-2 ♫
Les octets 0x51 et 0x52 représentent les lettres Q et R, respectivement : c'est de plus en plus explicite.

Indice n°11 (deux sens) : La boîte de texte en cache plus que vous ne le croyez.
La boîte de texte cache en effet le QR Code et le message en morse inversé.

Indice n°12 : Papillons et -codes !
Il y a deux éléments ici : le premier confirme que le programme Nollipap fait partie du puzzle, et le second représente matriciellement la transformation qu'il faut appliquer au QR Code avant de le flasher : la deuxième ligne "QR" est normale, mais la première est transposée horizontalement. Pour obtenir le code d'origine, il faut donc remettre la partie du haut à l'endroit.

Indice n°13 : Tous les marrons ne se valent pas.
Encore une fois, un coup de stéganographie.

Indice n°14 : Quand le papillon s'envole, les mots se dévoilent...
Seconde référence au nollipap, où l'on explicite qu'il y a bien un code à résoudre en appuyant sur les bonnes touches pour le faire parler.

Indice n°15 :
De nouveau la symétrie horizontale pour la moitié supérieure du QR Code. On ne pourra pas prétendre que c'était caché dans un coin !

Indice n°16 (deux sens) : Ce qui n'a pas de sens dans un sens peut avoir du sens dans l'autre sens.
Cette référence à peine voilée à la symétrie invite à réinterpréter les éléments dont on dispose en les lisant dans l'autre sens : à la fois pour le code à donner au nollipap, et en préparation pour le code morse inversé.

Indice n°17 : En touchant un peu au contraste de cette pièce du jour 7...
Alors là ça y est, je révèle carrément la supercherie. Vous ne pourrez pas dire que vous ne saviez pas !

Indice n°18 : Not X, ~X, x^1, 1-X : quel est le sens commun ?
Quatre façons différentes d'écrire le complémentaire binaire viennent s'ajouter au mot sens de l'indice 16 pour vous aider à interpréter le morse.

Indice n°19 : Si vous pensez avoir résolu les indices 4, 11 et 16, cherchez encore.
Un indice méta pour vous rappeler que tous les indices ne sont pas à usage unique !

Indice n°20 : ...___...
"SOS" en morse, rien de plus. Un indice facile pour éviter que vous tentier de trouver un autre code pour déchiffrer le second code secret.

Indice n°21 : REV a du sens.
Ici, "REV" c'est bien sûr "REV STEGANO!", le message du nollipap. On refait le lien avec les indices 16 et 18 pour exhiber l'interprétation de "REV" comme reverse, qui n'était pas forcément la plus naturelle (Krevo_ parlait de revoir ou revisiter).

Indice n°22 : Ce qui vous échappe... manque juste encore un peu de sens !
Référence flagrante à trois indices précédents.

Indice n°23 : Toutes les instructions sont dans le titre.
De nouveau le nollipap. La seule instruction à voir est de lire à l'envers ! Le fait qu'il faille presser 6 touches pour le faire parler devait être amplement suffisant pour faire le lien avec le premier code secret caché dans le message Arécibo.

Indice n°24 : Le code est la clé.
Ou, de façon plus verbeuse, « le premier code secret est la clé pour faire parler le papillon », avec un petit jeu de mot sur « clé » que l'on peut voir ici comme « clé de déchiffrement » (objet cryptographique).

Indice ultime : C'est un numéro de programme.
Dans le rush final, le principe était d'aider ceux qui fonçaient vers la solution, d'où cet indice extrêmement explicite mais qui ne peut être compris que par ceux qui ont lu le lien secret où, il était question d'un produit de nombres.

Indice de Noël : Il est impensable de ne pas chanter [...] Vous noterez la présence subtilement cachée de l'image du puzzle de l'avent [...]
Évidemment l'indice ultime n'était pas tout à fait ultime puisque le dernier élément que je vous livrais était caché dans la news de Noël où les mots « puzzle » et « chanter » devaient vous aider à trouver la solution, qui se présentait sous la forme d'une petite phrase à chanter sur la page de mon add-in. La phrase a évolué à chaque découverte, mais gardait la forme « ♫ ... - Joyeux Noël ♫ ».

Quant aux indices bonus, ce sont des choses encore plus explicites qui dévoilent progressivement le mystère !

Conclusion

Merci à tous les participants, et à tous ceux qui ont mis de l'animation sur le topic en général. Merci également à Casio Éducation qui a accepté de nous donner une Graph 90+E pour cet événement d'un genre tout nouveau pour nous !

Si le concept a plu, il est parfaitement envisageable d'organiser de nouveau un jeu de piste, sous cette forme ou sous une autre forme, pour une autre fois comme le prochain Avent. Faites-nous part des votre ressenti dans les commentaires !

Allez, à la prochaine sur Planète Casio !



Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 02/01/2019 21:26 | # | Fichier joint


D'ailleurs, un exemple de pourquoi je me suis fait chier à développer un outil de contre-stéganogaphie :


Saurez-vous retrouver le QR code caché dans ce QR code ?
C'est un lien vers le profil de l'un des membres de PC
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Krevo_ Hors ligne Maître du Puzzle Points: 412 Défis: 2 Message

Citer : Posté le 02/01/2019 21:59 | # | Fichier joint


Et pour l'anecdote j'ai un extrait du channel discussion :

... et je tiens absolument à démentir cette rumeur

La pression je me la suis mise tout seul avec une avance au tout début.

Bon, si vous avez eu le courage de lire mon debrief jusqu'au bout, vous avez dû sentir à quel point je me suis amusé durant le mois de décembre avec cette énigme de l'Avent. Je remercie encore les organisateurs.
Casio Basic Web Interpreter, c'était le basic Casio dans votre navigateur web !
Lephenixnoir Hors ligne Administrateur Points: 24698 Défis: 170 Message

Citer : Posté le 02/01/2019 22:22 | # | Fichier joint


Facile Darks, dans ton image il n'y a que 4 couleurs. La sélection par couleurs de Gimp à tolérance zéro trouve tout de suite. Ici, j'ai colorié les pixels minoritaires en bleu et blanc.

Ensuite, ben facile, je leur donne la couleur opposée à leur teinte naturelle (une sorte de diff de QR Code), et voilà :


https://www.planet-casio.com/Fr/compte/voir_profil.php?membre=glados
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 02/01/2019 22:26 | #


Bien joué
Mais avoue que si fallait faire ça sur toutes les tuiles du puzzle ça aurait été un peu long et chiant
D'autant plus que sur un sprite qui a déjà 10 couleurs de base, c'est plus galère

M'enfin, finalement ça aura été plus simple que ce que j'ai commencé par imaginer. C'est pas plus mal ainsi.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24698 Défis: 170 Message

Citer : Posté le 02/01/2019 22:35 | #


Mais avoue que si fallait faire ça sur toutes les tuiles du puzzle ça aurait été un peu long et chiant

Oui, il y a beaucoup de couleurs. Heureusement pour vous j'ai caché le QR Code sur une surface unie : mon intention initiale était d'utiliser uniquement des couleurs avec des valeurs paires sur une des composante choisie à l'avance, et de cacher le code dans le dernier bit. Sur la zone marron ça n'aurait fait aucune différence, mais je l'aurais mis en plein milieu, là où plein de couleurs se mélangent... :]

Et puis finalement j'ai trouvé que ce serait un peu compliqué.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 02/01/2019 22:36 | #


Ben pas tant que ça avec les bons outils
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Krevo_ Hors ligne Maître du Puzzle Points: 412 Défis: 2 Message

Citer : Posté le 02/01/2019 22:49 | #


'StegSolve' que j'évoque dans mon long débriefing est l'un des outils que j'ai testé durant le jeu.
Casio Basic Web Interpreter, c'était le basic Casio dans votre navigateur web !
Lephenixnoir Hors ligne Administrateur Points: 24698 Défis: 170 Message

Citer : Posté le 03/01/2019 00:03 | #


Je suis arrivé à la fin de ton commentaire, Krevo_... c'est génial tout ce que t'as sorti pour arriver à la solution ! Je suis juste impressionné !

C'est promis, la prochaine fois on concevra l'énigme pour t'éviter de passer tes soirées en famille à chercher les arguments bizarres à utiliser !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ityt Hors ligne Membre Points: 216 Défis: 0 Message

Citer : Posté le 03/01/2019 17:59 | #


L'énigme est titanesque GG pour les gens ayant trouvé.
salut je m'appelle sacha et je viens du bourg-palette et voici mon meilleur ami pikachu

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 96 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd