repinek/SonolusReverse
GitHub: repinek/SonolusReverse
基于 Frida 和 frida-il2cpp-bridge 编写的 Sonolus 音游 Mod,通过运行时动态插桩实现 VIP 伪装、主题解锁和版本覆盖等客户端功能扩展。
Stars: 6 | Forks: 0
# SonolusReverse
为 [Sonolus](https://sonolus.com/) 音游制作的带有额外功能的 Mod,使用 [Frida](https://frida.re/) 和 [frida-il2cpp-bridge](https://github.com/vfsfitvnm/frida-il2cpp-bridge) 编写
已在 Android 上的 Sonolus `1.1.1` (`4eee014389747`) 版本中测试。应该也能在 iOS 上运行,但**未经测试**。
## 截图
## 功能
- **自定义设置区域**
- **VIP + 主题伪装**:在客户端解锁 VIP _(移除广告)_ 和所有主题 _(包括专属主题)_
- **版本伪装**:覆盖用于客户端兼容性检查的版本
##### 计划中:
查看我们的 [TODO](TODO.md)。如果你想做出贡献:请查看[贡献指南](#contributing)
## 构建
0. 下载 Sonolus 可执行文件并安装 npm 依赖。
```
npm install
```
1. 构建脚本
```
npm run build
```
脚本将构建到 `dist/agent.js` 中
2. 使用 **script** 模式的 Frida Gadget 修补 Sonolus 可执行文件。
我正在使用 [fgi](https://github.com/commonuserlol/fgi) 进行修补 (仅限 APK)。
```
fgi -i -t script -l dist/agent.js
```
## 开发
0. 下载 Sonolus 可执行文件并安装 npm 依赖。
```
python -m venv .venv # Creating a virtual environment for Python
# 激活 Python venv,这取决于你所使用的操作系统。例如使用 fish 的 Linux:
. .venv/bin/activate.fish
pip install -r requirements.txt
npm install
```
1. 使用 **listen** 模式的 Frida Gadget 修补 Sonolus 可执行文件 _(或使用 frida-server)_。
我正在使用 [fgi](https://github.com/commonuserlol/fgi) 进行修补 (仅限 APK)。
```
fgi -i
```
2. 构建脚本
```
npm run build
```
脚本将构建到 `dist/agent.js` 中
3. 启动脚本
```
npm run spawn
```
注意:你可以重新构建脚本而无需重新启动游戏
### 开发者基础设施
- 用于 Sonolus UI 的类型化组件构建器
- 支持 i18n
- 简单但够用的 Logger
## 脚本
`npm run build` - 使用 [frida-compile](https://github.com/frida/frida-compile) 构建脚本
`npm run spawn` - 通过 Gadget 将脚本注入游戏 _(你需要装有 **listen** 模式 Gadget 的修补版游戏,并安装 `Frida`)_
`npm run prettier` - 运行 [prettier](https://prettier.io/) 以格式化代码和文件
`npm run lint` 运行 [ESLint](https://eslint.org/) 对代码进行静态分析
\* 来自 package.json
## 贡献
有想法?想添加本地化?发现了 Bug?欢迎提交 Pull Request 和 Issue!
## 联系我
我的联系方式在我的 GitHub 个人主页上 - [@repinek](https://github.com/repinek/)
## 许可证
本项目基于 **GNU General Public License v3.0** 进行许可。
有关详细信息,请参见 [LICENSE](LICENSE) 文件。
## 鸣谢
- [Frida 文档](https://frida.re/docs/) - 常规 Frida API 参考。
- [frida-il2cpp-bridge Wiki](https://github.com/vfsfitvnm/frida-il2cpp-bridge/wiki) - 本项目中使用的 IL2CPP 特定 API。
- [fallguys-frida-modmenu](https://github.com/repinek/fallguys-frida-modmenu) - 代码和架构改编自我早期的 Frida mod 项目。
## 功能
- **自定义设置区域**
- **VIP + 主题伪装**:在客户端解锁 VIP _(移除广告)_ 和所有主题 _(包括专属主题)_
- **版本伪装**:覆盖用于客户端兼容性检查的版本
##### 计划中:
查看我们的 [TODO](TODO.md)。如果你想做出贡献:请查看[贡献指南](#contributing)
## 构建
0. 下载 Sonolus 可执行文件并安装 npm 依赖。
```
npm install
```
1. 构建脚本
```
npm run build
```
脚本将构建到 `dist/agent.js` 中
2. 使用 **script** 模式的 Frida Gadget 修补 Sonolus 可执行文件。
我正在使用 [fgi](https://github.com/commonuserlol/fgi) 进行修补 (仅限 APK)。
```
fgi -i 标签:Android, Docker支持, DSL, Frida, frida-il2cpp-bridge, Hook, IL2CPP, iOS, MITM代理, npm, Python, Sonolus, VIP破解, 主题解锁, 云资产清单, 去广告, 客户端伪装, 开源, 数据可视化, 无后门, 暗色界面, 游戏修改, 游戏安全, 版本伪装, 目录枚举, 移动安全, 绕过内购, 自动化攻击, 逆向工具, 逆向工程, 音游