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}")