Загрузка данных


import socket
import json
import re

HOST = 'tasks.duckerz.ru'
PORT = 30009

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(10.0)
s.connect((HOST, PORT))

# Читаем
data = b""
try:
    while b"Send to Bob:" not in data:
        chunk = s.recv(4096)
        if not chunk:
            break
        data += chunk
except socket.timeout:
    pass

text = data.decode('utf-8', errors='ignore')
print(f"[*] Получено:\n{text}\n")

match = re.search(r'\{.*\}', text)
if match:
    alice = json.loads(match.group())
    p_hex = alice['p']
    g_hex = alice['g']
    A_hex = alice['A']
    
    # Переводим в байты
    p_bytes = bytes.fromhex(p_hex[2:])  # убираем '0x'
    A_bytes = bytes.fromhex(A_hex[2:])
    
    print(f"[*] p в ASCII: {p_bytes}")
    print(f"[*] A в ASCII: {A_bytes}")
    
    # Пробуем найти текст
    p_text = p_bytes.decode('utf-8', errors='ignore')
    A_text = A_bytes.decode('utf-8', errors='ignore')
    print(f"[*] p как текст: {p_text}")
    print(f"[*] A как текст: {A_text}")