Warning
This Project is for educational and research purposes only. Not affiliated with Sonolus; using this mod may violate Sonolus' TOS and EULA.
Use at your own risk. I'm NOT responsible for bans or anything else that happens to you or your account.
If you enjoy Sonolus, please consider supporting project by purchasing VIP or gems in-game.
If you wanna contact me: see Contact Me
Mod for the Sonolus rhythm game with extra features, written using Frida and frida-il2cpp-bridge
Tested Sonolus version 1.1.1 on Android. Should work on iOS too, but untested.
Rosé Pine 2- A custom theme
彗く星(しいたけ杯)- An exclusive theme for tournament participants
- Custom Settings Section
- VIP + Themes spoof: Client-side unlock of VIP (removes ad) and all themes (including exclusives)
- Version Spoof: Override the version used by client compatibility checks
WIP: Custom Themes: Create your own themes! Currently only hardcoded.
See our TODO. If you wanna contribute: see Contributing
- Download Sonolus executable and install npm dependencies.
npm install- Build a script
npm run buildScript will be built into dist/agent.js
- Patch Sonolus executable using Frida Gadget in script mode.
I'm using fgi to patch (APK only).
fgi -i <sonolus-apk> -t script -l dist/agent.js- Download Sonolus executable and install npm dependencies.
python -m venv .venv # Creating a virtual environment for Python
# Activate Python venv, it's depending on what OS you are. For example Linux with fish:
. .venv/bin/activate.fish
pip install -r requirements.txt
npm install- Patch Sonolus executable using Frida Gadget in listen mode (or use frida-server).
I'm using fgi to patch (APK only).
fgi -i <sonolus-apk>- Build Script
npm run build:devScript will be built into dist/agent.js
- Spawn script
npm run spawnNOTE: You can re-build script without re-launching game
- Typed widget builders for Sonolus UI
- i18n ready
- Webpack bundler with contiditional compilation (ifdef)
- Pre-commit hooks
- Auto-incrementing build version (MAJOR.MINOR.BUILD)
- Simple, but yet enough Logger
- JSON Config system
Build the script:
Compile the agent into ./dist/agent.js
npm run build - a RELEASE version (minified, optimized, no debug logs)
npm run build:dev - a DEV version
npm run spawn - Inject a script into the game with the Gadget (You need patched game with Gadget in listen mode and Frida Installed)
npm run prettier - Runs prettier to format code and files
npm run lint Runs ESLint to static analyzes code
* from package.json
Got ideas? Want to add localization? Found a bug? Pull requests and issues are welcome!
My contacts are on my GitHub Profile - @repinek
This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.
- Frida Documentation - General Frida API reference.
- frida-il2cpp-bridge Wiki - Specific API for the IL2CPP used in this project.
- fallguys-frida-modmenu - Some Code and architecture adapted from my earlier Frida project.
- Gene Brawl - Some code and architecture adapted from Gene Brawl.

