LeHack 19 - Tipiak

Posted on dim. 07 juillet 2019 in CTF

File : tipiak.png

Tipiak
50 Points
Tipiak

Url: https://static.wargame.rocks/tipiak.png

Nous avons donc une image à analyser. On remarque facilement que la visière présente une grille de pixels quelque peu étrange.

Aucun script ou logiciel n'ayant été fonctionnel, la méthode manuelle fut requise. Il s'agit alors de découper les pixels afin de faciliter le repérage et de reporter : rouge pour 1 et jaune pour 0.

On peut s'aider de GIMP pour afficher une grille permettant de séparer chaque pixel.

tipiak

Cela nous donne alors la suite binaire suivante :

100111101001011110010
0001000011011011111100100101001111010001
011100110101000011010000110100001101101111111011
1101101111110010111100110101000110110011010110111
1110001000100111101000101111011111100001101001101
01101111110001000100111101001000110001011110111111
10111101111010110001011110011001001011111011111100
1100110010011110010111001100010000101110111111001
011010000101110001011101111110010011100101111010
00001000110010001111100110101001110010001011100
111101001110010001010100100111001111010001101
1000110110001101100011011000110110001101100
011011000110110001101

On peut utiliser Python3 pour décoder tout ça :

>>> n = int('0b01100001011010000110111101111001001000000110110101100001011101000110010101111001011110010111100100100000001000010010000001101000011001010111001001100101001000000111011101100001011101000010000001111001011001010010000001110111011000010110111001110100001000000010000100001010011101000011001101101000001000000110011001101100001101000110011101111010001000000110100101111010001110100010000001101100011010000101111101110011011100000110010101100011011101000110000101100011011101010110110001100001011100100111001001110010011100100111001001110010011100100111001001110010', 2)
>>> n.to_bytes((n.bit_length() + 7) // 8, 'big').decode()
'ahoy mateyyy ! here wat ye want !\nt3h fl4gz iz: lh_spectacularrrrrrrrr'

On obtiens alors notre flag : lh_spectacularrrrrrrrr.