Les automates de Mme de Pompadour

Ce défi est tiré de c0d1ngUP 2023

Plusieurs droïdes horloge encerclent Mme de Pompadour pour obtenir la dernière pièce manquante pour finaliser la réparation de leur vaisseau. Vu les outils (coupants, tranchants, brûlants...) qu'ils possèdent, il serait suicidaire de les attaquer de front, ils sont trop nombreux. Il faudrait pouvoir les désactiver...

Car oui, ces droïdes peuvent être désactivés. Il suffit d'un simple code numérique, mais ce code change en permanence, et est spécifique à chaque droïde. En démontant un droïde endommagé, le Docteur a pu déterminer que le code dépend de l'horloge interne du droïde, ce qui explique qu'il change tout le temps. Le code de désactivation vaut le nombre de secondes représenté par l'horloge interne du droïde modulo 43200.

Il ne reste donc qu'à déterminer l'horaire des horloges internes de chacun des droïdes pour en déduire les codes à envoyer. En bon droïdes mécaniques, leurs horloges sont situées sur la poitrine, sous leurs vêtements, donc invisibles pour un être humain ou un Seigneur du Temps. C'est en revanche une tâche tout à fait à la portée du tournevis sonique qui a pu extraire les images d'horloge, même si la représentation obtenue contient quelques parasites. Voici un exemple d'image fournie :

Vous disposez en entrée de l'encodage en Base64 de l'image des horloges fournie par le tournevis (cette phrase a un côté irréel 😀). Vous devez fournir la liste des codes de désactivation de chacune des horloges, de gauche à droite puis de haut en bas. Il va falloir être rapide, vous n'avez que 5 secondes ! Passé ce délai, il faudra redemander une analyse au tournevis, qui fournira d'autres horloges.

Vous avez donc 5 secondes pour envoyer votre réponse via l'URL de réponse au format JSON contenant :

  • la signature qui vous a été communiquée lors de la première requête
  • le champ codes contenant la liste des codes de désactivation de chacune des horloges

Dans l'exemple qui précède les horloges indiquent respectivement les horaires suivants :

09 h 07 m 37 s, 00 h 59 m 14 s, 07 h 25 m 50 s, 04 h 38 m 18 s, 08 h 56 m 06 s, 09 h 44 m 24 s, 10 h 07 m 32 s, 01 h 27 m 32 s, 07 h 07 m 17 s,

Ces horaires correspondent aux codes :

32857, 3554, 26750, 16698, 32166, 35064, 36452, 5252, 25637

La réponse JSON devrait donc ressembler à :

{ 'signature': 'XXXXXXX',
  'codes': [32857, 3554, 26750, 16698, 32166, 35064, 36452, 5252, 25637]
}
Vous devez être connecté.e pour accéder aux entrées et proposer une réponse au défi.
Vous devez être connecté.e pour accéder aux forums.