edab23f04a
Emulates FIFA 17's full online + Ultimate Team stack against an offline,
clean-room backend (no EA servers). Proven end-to-end 2026-08-01:
Origin login -> Blaze login -> device-trust -> the FUT hub.
Package:
- tools/openfut-fut.sh one-command orchestrator (start/stop/status/restart)
- tools/root_arm.sh idempotent host arm (sysctls, DNAT, /etc/hosts easw)
- tools/{lsx_responder_v2,blaze_responder_v3b,roster_server,utas_server,autopatch}.py
the 5 servers (Origin LSX :4216, Blaze :42127/42130/42131, roster :8081,
FUT/UTAS :8099) + heat2.py (Fire2/Heat2 TDF codec)
- FUT-RUNBOOK.md runbook + gate-ladder troubleshooting
- docs/, tools/login_dump/*.md the reverse-engineering write-ups
All findings are clean-room, from binaries we own; nothing from any leak.
The wire protocol maps 1:1 to FIFA 23.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PN5bmpDVQR1aXgefyWAt7o
22 lines
1.2 KiB
Bash
Executable File
22 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
# OpenFUT FIFA 17 — arm the privileged host state (run via pkexec/sudo).
|
|
# Idempotent: safe to re-run. Volatile bits (sysctls, iptables) do NOT survive a
|
|
# reboot -> re-run after boot. /etc/hosts DOES persist.
|
|
set -e
|
|
|
|
# 1) allow /proc/PID/mem writes (autopatch's ProtoSSL cert-verify patch)
|
|
sysctl -q kernel.yama.ptrace_scope=0
|
|
# 2) allow routing DNAT'd traffic to loopback
|
|
sysctl -q net.ipv4.conf.lo.route_localnet=1
|
|
# 3) redirect FIFA17's Blaze dial (winter15 -> 159.153.51.20) to our TLS server :42127
|
|
iptables -t nat -C OUTPUT -p tcp -d 159.153.51.20 -j DNAT --to-destination 127.0.0.1:42127 2>/dev/null \
|
|
|| iptables -t nat -A OUTPUT -p tcp -d 159.153.51.20 -j DNAT --to-destination 127.0.0.1:42127
|
|
# 4) point FUT's dead hardcoded UTAS host (easw.easports.com:8099) at our utas_server
|
|
grep -q '[[:space:]]easw\.easports\.com\b' /etc/hosts 2>/dev/null \
|
|
|| printf '127.0.0.1\teasw.easports.com\n' >> /etc/hosts
|
|
|
|
echo "--- armed ---"
|
|
sysctl kernel.yama.ptrace_scope net.ipv4.conf.lo.route_localnet
|
|
iptables -t nat -L OUTPUT -n | grep -i '159.153.51.20' || echo " (DNAT missing!)"
|
|
grep 'easw.easports.com' /etc/hosts && echo " /etc/hosts ok" || echo " (/etc/hosts easw missing!)"
|