me3
A framework for modifying and instrumenting games.
Explore the docs »
Report Bug · Request Feature
About The Project
TODO: write me
Built With
- Rust
- egui
- egui-d3d11
- mlua
- Many others...
Getting Started
me3 is simply a framework for building a host DLL that performs runtime modifications, however, a sample host is provided that supports Dark Souls 3 and a variety of integrations with the me3 framework. See below for instructions on using it.
Prerequisites
- Cargo
- Windows: download and run [rustup‑init.exe][rustup-installer] then follow the onscreen instructions.
- Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
- Visual Studio C++ Build Tools
- Windows: download and run vs_BuildTools.exe then follow the onscreen instructions.
- Linux: install the mingw64 packages provided by youru distribution. Example (Fedora):
dnf install mingw64-binutils mingw64-gcc
Usage
- Clone the repo
git clone https://github.com/garyttierney/me3.git
- Build the binaries
cargo build [--release]
- Attach the sample host DLL to your game
cargo run [--release] --package me3_launcher -- DarkSoulsIII.exe
Roadmap
- Script bindings
- Interactive console
- Game overlay
- Game profiler
- Virtual filesystem
- Runtime binary analysis
- RTTI recovery
- Function recovery
- Function analysis
- Memory access tracing
Contributing
See CONTRIBUTING.md
License
Distributed under either the Apache Software License 2.0 or MIT License. See LICENSE-APACHE and LICENSE-MIT for more information.
Contact
Project Link: https://github.com/garyttierney/me3
Discussions Board: https://github.com/garyttierney/me3/discussions
Acknowledgments
- Mod Engine - prior art for runtime modification of FROMSOFTWARE games.
- Mod Organizer 2 - inspiration for the VFS framework.