Solution de s-celles pour Baby Morse

intro hardware radio

2 décembre 2024

On commence par se connecter au service distant :

$ nc 127.0.0.1 4000                       
--.- ..- . ...- --- ..- .-.. . --.. ...- --- ..- ...

C’est du code Morse.

Il y a une lib Python pour déchiffrer cela.

Installons morse_talk dans un environnement virtuel.

┌──(kali㉿kali)-[~/hackropole/fcsc2022-hardware-baby-morse/]
└─$ python -m venv morse_env                        
                                                                                                                                            
┌──(kali㉿kali)-[~/hackropole/fcsc2022-hardware-baby-morse/]
└─$ source morse_env/bin/activate
                                                                                                                                            
┌──(morse_env)─(kali㉿kali)-[~/hackropole/fcsc2022-hardware-baby-morse/]
└─$ pip install morse_talk                          
Collecting morse_talk
  Using cached morse_talk-0.2-py3-none-any.whl
Installing collected packages: morse_talk
Successfully installed morse_talk-0.2

Ouvrons une console IPython

┌──(morse_env)─(kali㉿kali)-[~/hackropole/fcsc2022-hardware-baby-morse/]
└─$ ipython3
/usr/lib/python3/dist-packages/IPython/core/interactiveshell.py:937: UserWarning: Attempting to work in a virtualenv. If you encounter problems, please install IPython inside the virtualenv.
  warn(
Python 3.12.7 (main, Nov  8 2024, 17:55:36) [GCC 14.2.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.29.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from morse_talk import decode, encode

In [2]: decode("--.- ..- . ...- --- ..- .-.. . --.. ...- --- ..- ...")
Out[2]: 'QUEVOULEZVOUS'

In [4]: encode("FLAG", letter_sep=" ")
Out[4]: '..-. .-.. .- --.'

Dans l’autre console on répond ce que l’on souhaite dans le même code.

>>> ..-. .-.. .- --.
Bien joué, le flag est :
FCSC{de8b4af784cd394ecc305979ffa124a112a18046037b42c94e4e85216180847e}