dans le home de level09 il y a 2 fichier appartenant a flag09: -rwsr-sr-x 1 flag09 level09 7640 Mar 5 2016 level09* ----r--r-- 1 flag09 level09 26 Mar 5 2016 token level09 est un executable qui prend en argument une chaine de charactere et qui renvoie une rotation incrementale des charactere: $ ./level09 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA > ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ $ ./level09 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~� $ cat token > f4kmm6p|=�p�n��DB�Du{�� Le fichier token comptient des charactere non imprimable. On peut donc se douter qu'il faudrait opperer la rotatation incrementale inverse sur le comptenue du fichier token. Car le token est deja passer par cet rotation incrementale on recupere la valeur de hexdump en hexadecimal pour du code en C $ hexdump -C token | cut -c 9- | cut -f1 -d'|' | tr '\n' ' ' | xargs echo "" | sed "s/ /, 0x/g" | sed "s/ //g" | xargs -I {} echo "{" {} "}" > { ,0x66,0x34,0x6b,0x6d,0x6d,0x36,0x70,0x7c,0x3d,0x82,0x7f,0x70,0x82,0x6e,0x83,0x82,0x44,0x42,0x83,0x44,0x75,0x7b,0x7f,0x8c,0x89,0x0a } Il faut juste enlever la premier virgule pour pouvoir initialiser un tableau static On a fait un fichier en C qui precede a appliquer l'inverse de la roation incrementale $ gcc Ressource/decode.c && ./a.out > f3iji1ju5yuevaus41q1afiuq� le dernier charactere corespond au "\n" on peut donc se connecter au compte flag09 puis recuperer le mot de passe du level10