0d3f33cede
openfut-hook is a Windows version.dll proxy injected into the FIFA client, but as a member of the parent OpenFUT workspace its [profile.release] was silently ignored (cargo only honors profiles at the workspace root, and forbids per-package `panic` overrides). The shipped DLL was therefore built opt-level=3 / strip=debuginfo / panic=UNWIND -- and unwinding a Rust panic across the DllMain/FFI boundary into the game process is UB. Add an empty [workspace] table so the crate is its own root and its release profile (panic=abort, strip=symbols, opt-level=s) applies. Paired with the parent workspace `exclude`. Also lands the artifact in openfut-hook/target/ (matching the launcher config.rs default hook_dll_path) instead of the parent target/. Cross-build verified: panic=abort now emitted; DLL 1200126 -> 861696 B.
47 lines
1.6 KiB
TOML
47 lines
1.6 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",
|
|
] }
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
strip = true
|
|
panic = "abort"
|