Principe:
Trouver la logique liant deux constantes d'un fichier assembleur (qu'on peut reverse, mais ce n'est pas nécessaire)
Infos (cf menu latéral):
🚩 Flaggué! +982 points gagnés —
💾 Téléchargez les fichiers du challenge
404CTF{L3s4pp4rencesS0ntTr0mp3uses}
Le challenge
Le fichier ASM
LOAD_CONST ressort, et sera sûrement intéressantePython assembly
Les constantes
On peut s'apercevoir que d n'est constitué que de valeurs uniques, ce qui est hautement improbable sauf si d représente une permutation de la table ASCII
Je me suis alors aperçu que si on lit f à l'envers, on a 187 132 187 ce qui peut correspondre à 404 de 404CTF{…}
d, on voit qu'elles sont proches et leur écart (4) correspond à l'écart dans la table ASCII! on a trouvé la logique!
Cette logique est: "lire f en partant de la fin, et pour chaque valeur K, chercher la position de K dans d"; cette position donnera la valeur (ASCII) du i-eme caractère du flag
En pratique, cela se reverse assez bien, puisqu'il s'agit juste de pop/push sur une stack et d'utiliser des ord/chr
Flag: 404CTF{L3s4pp4rencesS0ntTr0mp3uses}