fe2e531b0c
`STAGING_FUT_BASE` hardcoded `http://10.10.0.120:8110/fut/` into the hook binary, so the base-supply rewriter only worked on one machine and could not be merged. The prefix now comes from the same `openfut.cfg` / `openfut-common` source of truth as every redirect target: `fut_content_base()` builds `http://<host>:<fut_content_port>/fut/` from the configured host. `OpenFutPorts` gains `fut_content` with a named default (`default_ports::FUT_CONTENT = 8110`) and an optional `fut_content_port=` key, matching how every other OpenFUT port is already handled. A cfg written before the key existed still parses and takes the default — failing it would disarm the network redirect too. Arming fails SAFE: an absent or unusable config arms nothing and the rewriter leaves every url exactly as the client built it, rather than pointing it at a guessed host. This also adds the `openfut-common` dependency to the hook on this branch; main already has it. Proof: the cross-built artifact no longer contains the string 10.10.0.120 (previously compiled in), openfut-common is green at 16 tests including the new config-derived-base and backward-compatibility cases, and the launcher builds.
51 lines
1.9 KiB
TOML
51 lines
1.9 KiB
TOML
# Standalone workspace root: this Windows-only version.dll proxy is deliberately
|
|
# NOT a member of the OpenFUT workspace (see that root's `exclude`) so its own
|
|
# [profile.release] below actually applies. An empty [workspace] table stops Cargo
|
|
# from walking up and re-attaching this crate to the parent workspace.
|
|
[workspace]
|
|
|
|
[package]
|
|
name = "openfut-hook"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[lib]
|
|
crate-type = ["cdylib"]
|
|
|
|
[features]
|
|
# Build with `--features capture_baseline` to DISABLE the LSX 3216→3217 redirect,
|
|
# so FIFA's LSX goes to anadius's in-process server (for capturing anadius's real
|
|
# responses). Default build keeps the redirect (LSX → our bridge).
|
|
capture_baseline = []
|
|
# Build with `--features probe` to install passive logging detours on FIFA's
|
|
# in-process online-flow functions (GoOnline, GetInternetConnectedState, event
|
|
# deserializers). Writes PROBE lines to C:\openfut_hook.log for RE. See probe.rs.
|
|
probe = []
|
|
# Build with `--features fifa17` for the FIFA 17 injection path. DllMain runs ONLY
|
|
# the minimal FIFA-17-safe logic in fifa17.rs (prove injection, dump module map,
|
|
# patch DirtySDK/ProtoSSL cert-verify) and skips ALL the FIFA-23-specific hooking.
|
|
fifa17 = []
|
|
|
|
[dependencies]
|
|
windows-sys = { version = "0.59", features = [
|
|
"Win32_Foundation",
|
|
"Win32_System_LibraryLoader",
|
|
"Win32_System_Memory",
|
|
"Win32_System_SystemServices",
|
|
"Win32_Networking_WinSock",
|
|
"Win32_Security_Cryptography",
|
|
"Win32_System_Threading",
|
|
"Win32_System_Diagnostics_ToolHelp",
|
|
"Win32_System_Diagnostics_Debug",
|
|
"Win32_System_Kernel",
|
|
] }
|
|
# Single source of truth for the OpenFUT redirect config (openfut.cfg schema,
|
|
# EA-port -> OpenFUT-port map, WinSock byte-order helpers). Shared with the
|
|
# launcher so the hook and openfut.cfg agree by construction.
|
|
openfut-common = { path = "../openfut-common" }
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
strip = true
|
|
panic = "abort"
|