ColorOS GMS Probe Fix

简体中文 | English

面向 ColorOS 的 Xposed API 82 / LSPosed 模块:通过本地 HTTP 代理执行真实的 Google HTTP 204 可达性检测,保留厂商原有 GMS 限制/解除逻辑。不是无条件解限,也不保证解决所有 Google 服务联网问题。

发布页 · 源码与构建 · 更新记录 · 反馈问题

发布状态

收录申请已批准,此仓库用于模块说明和正式 APK,不存放源码。公开版本为 0.2.1(versionCode 3),Release tag 为 3-0.2.1。APK 已通过现有个人签名身份签名,并从源码仓库 Release重新下载核验;目录 Release 使用同一份文件。不要把源码 ZIP 当作安装包。

签名证书 SHA-256:59ea4ac3a16001cf66899275068c39c4ae5fbeab74537305a8bb7f5f51063263。

APK SHA-256:426a73e82b77d5c711608d2992a83aad4eb6de8684bd2208b251a1171de1fc35。

使用前必读

  • 需要支持 Xposed API 82 的 LSPosed;模块没有桌面启动入口或设置界面。
  • 需要 127.0.0.1:7890 可访问的 HTTP/mixed 代理,原方案使用 Mihomo。不是 TPROXY 7895;更换端口需要修改源码重新构建。
  • 仅在 com.oplus.athena 进程安装 hook,LSPosed 作用域同时选择 com.oplus.battery 和 com.oplus.athena。不要选择 Android/系统框架。
  • 模块依赖当前固件的 NetworkDetector.a(Context,int)、RUS helper h6.a 与控制器 R(long,int)。最低 Android API 28 只是构建下限,不是兼容全部 Android 9 及以上系统的承诺。
  • 请在启用前准备独立的模块停用/救援手段。不能正常进入系统时,LSPosed 界面停用可能不可用。

安装与迁移

  1. 停用旧 ColorOSGmsUnblock,不要同时启用两种方案。
  2. 停用并卸载旧测试包 dev.local.colorosgmsprobe。公开包为 cn.rkbkosp.colorosgmsprobefix,签名身份也变化,不是原包的覆盖更新。
  3. 在 Release 中下载 ColorOSGmsProbeFix-*.apk,可用同版本 SHA256SUMS 核验文件。
  4. 安装后在 LSPosed 启用模块,选择上述两个作用域,再重启。保持 HTTP/mixed 代理端口可用。
  5. 检查 LSPosed 日志:installed NetworkDetector.a(Context,int)、probe response=204 和 real HTTP 204 via Mihomo; Google detection succeeds。自行验证 Google 服务访问、Wi-Fi/移动网络切换及完整重启。

功能与边界

存在活动网络且本地代理监听时,经 Proxy.Type.HTTP 请求固件 RUS 地址列表;读取失败或列表为空时使用 https://www.google.com/generate_204 与 http://www.google.com/gen_204。只有 HTTP 204 才报告成功;不跟随重定向,不使用响应缓存,不修改 TLS 验证。代理不可用、HTTP 200/重定向、探测失败或内部探测异常时继续原厂检测。

捕获原控制器后,首次在 10 秒后检查代理监听,此后每 30 秒检查一次。代理变为就绪时排入原控制器检测队列,失败最多补测三次;成功后停止补测,继续观察代理重启。短于 30 秒的停止/重启可能漏检。

模块不直接改 GMS 策略或 BPF 表、不伪造 VPN,也不无条件返回成功。204 日志不证明 Google Play 界面访问成功;仍有问题时分别检查原控制器策略同步、代理规则、IPv6 与 DNS。

验证状态

原始记录标注 PMA110 / ColorOS V17.0.0 / Android 17,样本 Battery.apk SHA-256 为 b12a0d3466e20c0d3001f844c47a74a36c45422d413452e615f1678d1fe99030。该归属来自历史记录;外围工程为 Ace3 移植工作区,不据此认定当前公开包已在原厂 PMA110 或 Ace3 实机验收。

2026-10-02 私有 0.2 归档记录显示:Athena hook 安装成功、代理探测返回真实 HTTP 204 / RESULT_WIFI_SUCCESS,原控制器补测触发,限制状态由 1 变为 0,两张限制 BPF 表从各三项清空。仅重启了 Athena,没有整机重启或 Google Play 界面最终访问验收。

公开 0.2.1 保留上述运行逻辑,调整包名、构建与发布包装。本机 Debug/Release 构建和 GitHub CI 已通过;主机烟测确认真实探测方法接受 204、拒绝 200/302、不跟随重定向,代理不可用时不报告成功。烟测使用主机日志适配,不是 Android/LSPosed hook 实机验收。

排查与恢复

更新 ROM 后重新核对固件方法与配置。成功 204 后仍受限制,应检查厂商策略持久化/同步,不能据此添加无条件成功 hook。

恢复原检测实现:在 LSPosed 停用模块并重启。这不保证恢复先前的策略快照;策略由原控制器继续管理。反馈请提供精确 ROM、Android/LSPosed/模块版本及脱敏后的相关日志,不要提交账号信息、完整设备转储或私有签名材料。

风险与许可证

模块运行在高权限厂商进程内,可能影响联网或进程稳定性,按现状提供,不提供担保。启用前自行验证并准备恢复手段,完整责任条款见 MIT 许可证。

ColorOS、OPPO、Google 等名称属于各自权利人;本项目独立开发,与其无关联,未经授权或背书。

Releases

0.2.1

Stable

10/5/2026, 3:21:57 AM

  • Package the preserved 0.2 runtime as an independent public project, with application ID and namespace cn.rkbkosp.colorosgmsprobefix.
  • Pin AGP 8.7.3, Gradle 8.9, JDK 17, SDK 35 and Build Tools 35.0.0; document reproducible build inputs and unsigned-by-default release builds.
  • Prepare public GitHub release packaging and existing-identity signing with certificate verification; release tag 3-0.2.1.
  • Add English/Chinese installation, migration, compatibility, privacy and recovery documentation. Exclude private evidence, vendor decompiled source and signing material.
  • No new runtime behavior fixes. The package/signing identity differs from dev.local.colorosgmsprobe; uninstall the old build and set LSPosed scope again.
  • Historical 0.2 observations are not acceptance of this newly packaged release. Full-device reboot and Google Play UI access remain unconfirmed by the archival evidence.

Assets

2