bc6612697a
Add the reverse-engineering work for FIFA 23 online integration: - tools/protossl-scan: read-only memory scanner that confirms the DirtySDK/ProtoSSL transport, cross-references strings to code (xref/xref-str), and disassembles the enclosing function (disasm). Located _ProtoSSLSendPacket at FIFA23.exe+0xEFA530 (plaintext TLS record assembler) via the "_ProtoSSLSendPacket" debug string xref. - openfut-hook: version.dll proxy (forwards all 17 real exports) that injects into FIFA 23 and installs an inline detour on _ProtoSSLSendPacket, plus connect/DNS (getaddrinfo) capture and local LSX/redirect listeners. Logs to C:\openfut\hook.log. - CLAUDE.md: bridge project context + the gate-sequence task roadmap. Findings so far: with the anadius offline emulator the game never attempts the online Blaze connection (local auth gate), so capture of live Blaze frames is blocked pending an online-session fake. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
36 lines
1.2 KiB
TOML
36 lines
1.2 KiB
TOML
[package]
|
|
name = "protossl-scan"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Task 1: read-only memory scan to confirm FIFA 23 uses EA DirtySDK / ProtoSSL"
|
|
|
|
[[bin]]
|
|
name = "protossl-scan"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
# SIMD-accelerated substring search. Orders of magnitude faster than a naive
|
|
# byte-by-byte scan when sweeping the game's multi-GB address space.
|
|
memchr = "2"
|
|
|
|
# Pure-Rust x86/x64 disassembler. Lets us read the game's own code around a
|
|
# code anchor (clean-room: we only disassemble the binary the user owns).
|
|
iced-x86 = "1"
|
|
|
|
# The official Microsoft `windows` crate gives us safe-ish bindings to the
|
|
# Win32 APIs we need. We only turn on the few feature modules we use, to keep
|
|
# build times and binary size down.
|
|
windows = { version = "0.58", features = [
|
|
"Win32_Foundation",
|
|
"Win32_System_Threading",
|
|
"Win32_System_Memory",
|
|
"Win32_System_Diagnostics_ToolHelp",
|
|
"Win32_System_Diagnostics_Debug",
|
|
] }
|
|
|
|
# This tool lives inside the openfut-bridge repo but is its OWN crate. Declaring
|
|
# an empty [workspace] here makes Cargo treat this directory as a standalone
|
|
# workspace root, so it does not try to attach to the openfut-bridge package
|
|
# in the parent directory (which would error).
|
|
[workspace]
|