medge multiplayer loader
A DLL written in Rust that loads the multiplayer mod DLL into Mirror's Edge when the game starts. This DLL is loaded by using Phantom DLL hijacking techniques and taking the name of the unused DLL "AgPerfMon.dll". After the multiplayer mod DLL is loaded the memp loader DLL is deloade from the game.
Referenced in my blog post: Chasing Ghosts: Phantom DLLs in Mirror's Edge
Note: By default the
.cargo/config.toml
builds for windows 32-bit x86.
- Install Rust through rustup
- Install toolchain
rustup install stable-i686-pc-windows-msvc
- Add target
rustup target add i686-pc-windows-msvc
- Might need to do a
cargo clean
- Build with
cargo build
- File gets created in
PROJECT-PATH/target/i686-pc-windows-msvc/debug/AgPerfMon.dll
- Copy AgPerfMon.dll into a Dll search order directory
- without-dependencies - same code as main branch but without any external dependencies
- find-mp-dll-by-modules - use mmultiplayer dll relative to loader dll