逆向系老挂
⚠️ 免责声明(请先读这一段)
本项目仅供学习与技术交流使用。
- 仅用于学习 Android 网络协议分析、加固与逆向技术、Compose/miuix 界面实现。
- 禁止:商业用途、批量刷分、代练、账号交易、干扰平台运营,以及任何违反法律法规或平台服务条款的行为。
- 风险自负:使用本项目的一切后果(含账号封禁、数据丢失、法律风险)由使用者自行承担,作者不承担任何责任。
- 无关联:本项目与「小猿口算」及其运营方无任何隶属、合作或授权关系。
- 文中涉及的商标、App 资源及协议定义,版权归各自权利人所有;本项目不含也不分发任何原应用专有代码或资源。
- 如有侵权,请通过 Issues 告知,将在核实后立即删除相关内容(乃至整个仓库)。
详见 DISCLAIMER.md(含英文版)。
cn.apixiaoyuan.app —— 一个以小猿口算逆向结果为业务基底、以 miuix 为 UI 基座的 Android 应用。
这是什么
本项目的三个来源:
- UI 基座:miuix
0.9.4-rc01(blur / shader / nav 三个模块),负责液态玻璃质感与悬浮底栏。 - 视觉基准:作者此前写的
cn.nizou.sxd(老挂戏老叟)。莫奈取色、液态玻璃 Tab 栏、图标库三项观感一比一对齐该应用。 - 业务基底:
com.fenbi.android.leo3.141.1 的逆向结果。接口分层、编码层、PK 与练习协议均以该版本的逆向结论为准。
13 个 DEV-PLAN 模块已全部有实体代码落地,当前处于业务链路联调阶段:骨架、数据层、网络层、样本库、请求台均已成形,登录态已打通到「cookie 迁移 + 风控层定性」,正在啃 solar-encoder 签名这一关。
当前进度
已完成:
- Compose + miuix 的工程骨架,AGP 9.3.1 / Kotlin 2.4.10 / compileSdk 37 / minSdk 33
- 类型安全导航(
AppNavHost),九个页面路由与底部 Tab 单源维护(BottomTabs) - 莫奈取色主题(
Theme.kt),走 material-kolor 5.0.0 的动态配色,结构对齐cn.nizou.sxd的MizuTheme - 液态玻璃 Tab 栏(
LiquidGlassTabBar.kt),当前为 Compose 原生模拟,真模糊待接入 miuix-blur - 图标统一出口(
AppIcons.kt),底座为 Material Symbols(com.composables:icons-material-symbols-outlined-cmp:2.2.1) - 网络底座(
core/network/):双 BaseUrl 拦截器、鉴权、编解码桥注解、Retrofit 双实例、ServiceLocator - 数据层(Room 八表 + KSP):请求链路四表 + 业务链路四表,schema 导出到
app/schemas - 10 个 API Service(
core/network/api/),对齐docs/API-INVENTORY.md - 请求台 → 样本库 → 请求历史链路(发送/重放均落库,
trimTo(2000)裁剪) - 登录/发码错误提示结构化(
SmsOutcome三态 + 服务端 message 抽取) PersistentCookieJar服务端删除指令识别(不再写入空值污染)- 原版登录态迁移(12 条 cookie 明文 JSON → 本工程
shared_prefs/leo_session.xml) - CI 全绿:
lint+testDebugUnitTest+assembleRelease(未签名 APK 走 artifact)
进行中:
- solar-encoder 签名机制(
SignInterceptor已定性为 URL query 参数,Li30/d接口已定位,实现类待锁定) libRequestEncoder.so的 JNI 导出语义确证(sdwioxccsd/zcvsd1wr2t是否为 sign 生成器)
未开始:
- 练习、PK、接口浏览器、设置页的完整业务 UI
- native 编码层复刻(
libContentEncoder.so/libRedressProcess.so) - baselineprofile
文档
| 文件 | 内容 |
|---|---|
docs/DEV-PLAN.md | 13 模块清单、依赖顺序、M1-M6 里程碑、风险项、本地验证策略 |
docs/API-INVENTORY.md | 接口全量清单(双 BaseUrl、登录、练习、PK、native 编码层) |
docs/LOGIN-API.md | 登录接口专项(LeoGatewayService 九方法 + 旧版 YtkApiService) |
docs/skills/ | 可跨对话复用的技能文档(工具调用规范等) |
构建
本项目不在本地构建 APK,所有构建走 GitHub Actions。
- 推送
main触发.github/workflows/ci.yml - Job
lint-and-test:./gradlew lint+testDebugUnitTest - Job
build:assembleRelease,产物为未签名 APK 与混淆映射,从 Actions artifact 下载
本地若只做静态检查:
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-arm64
export ANDROID_HOME=/opt/android-sdk
export ANDROID_SDK_ROOT=/opt/android-sdk
cd /root/cn.apixiaoyuan.app
./gradlew :app:compileDebugKotlin --no-daemon --console=plainexit 0 且零 e: 行才算过。
需要 JDK 21 与 Android SDK(compileSdk 37)。本机为 aarch64,aapt2 是 x86-64,跑不了 processDebugResources,故 APK 打包只能在 CI 完成。
版本
版本号由 version.properties 维护。CI 不改版本号,只有 release 工作流发布时 +1。
交流与反馈
| 渠道 | 地址 |
|---|---|
| GitHub(问题反馈 / PR) | https://github.com/sxd91/cn.apixiaoyuan.app |
| QQ 一群 | 994173459 |
| QQ 二群 | 1109588491 |
仓库 README 里的群号无法点击复制,请手动复制;应用内「设置 → 关于」 里的群号支持点击即复制。
如发现侵权内容,请优先通过 GitHub Issues 告知,核实后立即删除。
协议
MIT,见 LICENSE。
免责声明(完整版)
本项目(cn.apixiaoyuan.app / 逆向系老挂)仅供学习、研究与技术交流使用。
-
用途限定 —— 仅用于学习 Android 应用的网络协议、加固与编码机制、 WebView/JS Bridge 混合架构,以及 Compose/miuix 界面实现。
-
禁止行为 —— 严禁任何商业用途;严禁批量刷分、代练、刷榜、自动化牟利 等破坏平台公平性的行为;严禁账号交易;严禁干扰或规避平台正常运营与风控。
-
风险自负 —— 使用本项目的一切后果(包括但不限于账号封禁、成绩清空、 数据丢失、设备风险、法律责任)由使用者自行承担,作者不承担任何责任。
-
无关联声明 —— 本项目与「小猿口算」及其运营方无任何隶属、合作、 授权或赞助关系。
-
知识产权 —— 所有商标、应用名称、App 资源、协议定义及第三方二进制, 版权归各自权利人所有。本项目仅为技术学习目的引用,不包含也不分发 任何原应用的专有代码或资源。
-
侵权处理 —— 立即删除 —— 若权利人认为内容侵权,请通过 Issues 告知, 核实后将立即删除相关内容,必要时删除整个仓库。
-
合规使用 —— 请在合法授权范围内、仅用于自身学习研究。
下载、查看或运行本项目,即视为你已阅读并同意上述全部条款。
英文版见 DISCLAIMER.md。