Solution de patatetom pour Daddy Morse

hardware radio

4 janvier 2025

Utilisation du script client.py :

python client.py
[+] Opening connection to localhost on port 4000: Done
b'You said HELLO\n'
[*] Closed connection to localhost port 4000

HELLO == .... . .-.. .-.. --- == signal.iq == hello_signal

L’analyse “visuelle” (hexedit signal.iq) montre clairement le motif .... . .-.. .-.. --- :

et d’après la description, les mots sont séparés par un espace correspondant à 4 séparateurs

p = 48 * b'\x00\x00\x80?'
t = 5 * p
l = 192 * b'\x00'
s = 5 * l
e = 4 * s

reconstruction et envoi du message CAN I GET THE FLAG :

C = t+l+p+l+t+l+p
A = p+l+t
N = t+l+p
I = p+l+p
G = t+l+t+l+p
E = p
T = t
H = p+l+p+l+p+l+p
F = p+l+p+l+t+l+p
L = p+l+t+l+p+l+p

CAN_I_GET_THE_FLAG = (C+s+A+s+N)+e+(I)+e+(G+s+E+s+T)+e+(T+s+H+s+E)+e+(F+s+L+s+A+s+G)

from base64 import b64encode
FLAG = b64encode(CAN_I_GET_THE_FLAG)

from pwn import remote
io = remote('127.0.0.1', 4000)
io.recvuntil(b"> ")
io.sendline(FLAG)
print(io.recvline())
io.close()