LumaCore is the DLL component that SteaMidra injects into Steam to handle family-sharing bypass, depot key loading, achievement spoofing, Denuvo authorization, and legacy CD-key suppression.
It ships as three files placed in the Steam installation directory:
xinput1_4.dll— thin XInput 1.4 proxy; loads LumaCore.dll from a worker thread after DllMain (Aether 14a6359 lesson: XInput is the startup gate Steam still loads from its own directory)LumaCore.dll— the main hook libraryLumaCorePayload.dll— injected into game processes for online-fix multiplayer (EOS bridge, lobby redirection)
At Steam startup, the proxy DLL loads before any game code and loads LumaCore.dll. LumaCore then:
- Copies
steamclient64.dlltobin\lcoverlay.dllso it can be loaded and hooked independently of the live client. - Reads the current Steam build ID from
steam.exe!GetBootstrapperVersionso byte-pattern searches pick the most accurate signature for the running build. - Fetches per-build pattern TOMLs from the network mirror chain, caches them locally, and primes the runtime pattern map.
- Installs over 40 Detours hooks plus VEH captures into the loaded
lcoverlay.dllcopy, covering IPC dispatch, package ownership, license patching, Denuvo auth, manifest binding, network packet rewriting, and online-fix game language synchronization. - Starts a Lua directory watcher that monitors
config/stplug-in/for.luafiles written by SteaMidra.
When a Lua file appears or changes, LumaCore parses it, loads depot decryption keys and ownership records, and injects the new ownership data into Steam without restarting. For online-fix games, LumaCore synchronizes the game's language setting to Spacewar (480) and LumaCorePayload.dll is injected into the game process via CreateProcess hooks to handle EOS bridge and lobby redirection.
See docs/LumaCore.md for a full description of every hook and feature.
Requirements: CMake 3.20+, MSVC (Visual Studio 2022), 64-bit target only.
build.batThe build script downloads all dependencies (Lua 5.4, Microsoft Detours, spdlog, protobuf, toml++) via CMake FetchContent on the first run. Subsequent runs are incremental. Output DLLs are copied to Releases/Release/ and Releases/Debug/ beside build.bat.
See CREDITS.md.
Related projects on GitHub:
LumaCore is part of SteaMidra and is distributed under the GNU General Public License v3. See the root LICENSE file for the full text.