diff --git a/README.md b/README.md index 26ad6d9..6c6042b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,35 @@ -# MariesWonderland -A private server implementation for mobile game NieR Reincarnation +# Marie's Wonderland + +An attempt at a private server implementation for mobile game NieR Reincarnation. + +## Game information +- Built in Unity 2019.4.29 with C# and IL2CPP +- Has a GRPC-based server +- Has a web-based API + +## Requirements + +#### PC +- [Android Platform Tools](https://developer.android.com/tools/releases/platform-tools) +- [Visual Studio 2022](https://visualstudio.microsoft.com/downloads) +- [Visual Studio Code](https://code.visualstudio.com/download) or similar text editor +- [ngrok](https://ngrok.com/download) or similar + - HTTP/2 support is required +- [Frida tools](https://frida.re/docs/installation) + +#### Phone +- Latest version of the game installed (v3.7.1) +- Rooted Android device + - USB debugging enabled + - [Frida server](https://frida.re/docs/android) installed and running + +## How to run +- Connect your Android device to your PC and ensure it shows up when executing the following command: `adb devices` +- Run the GRPC server + - Open the `MariesWonderland.sln` solution and run the project. The server runs on ports 7777 (HTTP) and 7776 (HTTPS) +- Run ngrok + - Execute the following command: `ngrok http --app-protocol=http2 7777` + - Take note of your public ngrok domain +- Hook and run the game + - Open `frida/hooks.js` in VSCode and change the variable `SERVER_ADDRESS` to your ngrok domain + - Execute the following command from the VSCode terminal (adjust the file path): `frida -Uf com.square_enix.android_googleplay.nierspww -l "path\to\hooks.js"` \ No newline at end of file