Aux dernières vacances de février, j'ai eu l'opportunité de contribuer au CTF d'Insomnihack sous la forme d'un challenge de reverse. Si j'ai eu beaucoup de joie lors de son écriture, et malgré des retours positifs de la part des participants, celui-ci souffrait d'un défaut majeur. Cet article est donc une sorte de rapport de chall' par l'auteur, commentaire de texte inclus !
J'aime bien écrire des chall’s comme des exercices pédagogiques, des exercices qui nous font découvrir un aspect de l'informatique que l'on connaît pas ou peu, mais qui recèle de nombreux détails qui, s'ils ne sont pas forcément intéressants, n'en restent pas moins fascinants.
Or face à un binaire, et sous contraintes de temps, le reverseur aguerri cherche le plus court chemin, qui est souvent différent de celui prévu par l'auteur. Quel dommage que mes candidats passent à côté des découvertes que je leur aurais préparées ! Le chall’ est donc conçu sous forme de questions-réponses, la concaténation des réponses formant la solution du challenge, solution qui devrait avoir le bon ton d'être unique.
De manière synthétique, on peut donc imaginer une série de fonctions dont la signature en langage C++ serait :
Il se trouve que le thème du chall’ allait être les nombres à virgules flottantes, les questions...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première