Mona LSB

Flag: HACKDAY{M0N4_L1SA_IS_THE_NEW_META}

Challenge

file-archive
32MB
circle-info

Description


A mysterious audio file has been discovered. The steampunk engineers who created it are said to have hidden a precious secret within. Your mission is to dive into the binary depths of this file to reveal the hidden message.

The file contains a classical melody, but the essence of the challenge lies in least significant bits. Can you find the key to decode what it hides?

sha256: 978e2272c987311dc8f3ce8e3bf76a5e4bebf5cdafd13ef18e9dfbdbdb2e9a69

Flag format : HACKDAY{...}

circle-exclamation

Solution

On va lire frame par frame le fichier .wav. Les premières frames sont étranges, il n'y a que des 0 et des 1 :

import wave

wav = wave.open('wmremona-is-you-here.wav')
frames = wav.readframes(wav.getframerate())
print(frames[:20])

Sachant que ça ressemble à des bits, on va appliquer une technique de LSB dessus. Pour ça, on va imaginer qu'on groupe ces bits par octets et ne garder que le dernier. Ça équivaut à ne prendre que toutes les 8 valeurs.

Maintenant, on regroupe les bits par octets :

Mis à jour