Skip to content

feat: 增加运行时界面保护并准备 1.7.0 发布 - #22

Merged
kairowan merged 4 commits into
mainfrom
feature/runtime-ui-protection
Oct 13, 2026
Merged

kairowan merged 4 commits into
mainfrom
feature/runtime-ui-protection

Conversation

@kairowan

@kairowan kairowan commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

运行中的应用仍会暴露可截图的业务页面和稳定资源名称,且原有环境检查仅覆盖启动阶段。本次为 APK/AAB 增加可选界面保护、Activity 豁免、ADB 报告或阻断策略以及前台复查,CLI 与 GUI 使用同一配置;新选项全部默认关闭。

APK 资源名称混淆只处理安全的 id 名称并保留数值 ID,遇到 Native、assets、动态查找或未知格式保守跳过。AAB 明确拒绝该选项。窗口改写保留虚方法分派并跳过 super 调用;旧运行时资源明确拒绝不支持的新策略。普通 gmain/gdbus 线程名降为弱信号,减少误杀。

同步版本至 1.7.0,补充功能说明、发布说明与回归脚本。冒烟脚本固定使用本次构建的运行时,失败时保留诊断产物。本地 plan、测试 APK 和证书均未提交。

完整 CI 暴露出壳 DEX 预算过期:独立重建原 main 已为 53,144 字节,旧预算却为 32,500 字节。本次本机实测 59,220 字节(Linux CI 59,216),增量约 6 KB、4 个类;更新机器可读基线与说明,仍保留约 10% 的膨胀预算和原有检查。

验证:

  • Rust 核心 202 项、CLI 两个目标各 19 项、API 集成 4 项、iOS 48 项、Native 27 项通过;GUI 后端此前 139 项通过。
  • Rust 格式、Clippy、33 项发布脚本测试、GUI 类型和 lint 检查通过。
  • 窗口 DEX 调用与 ARSC 改写断言检查、Java 策略单元测试通过。
  • Android 15 / arm64 荣耀真机:Activity/Dialog/平台 Builder、防截图、页面豁免、资源 ID、ADB 启动阻断通过。
  • 界面保护与 PVM2 组合在 balanced 模式下通过相同窗口真机断言;小型夹具 strict 覆盖率 50% 低于 70% 门槛时按预期拒绝输出。
  • 默认与 strict/PVM2 加固:双 DEX、Native、openFd、同签名覆盖、首次与缓存后启动通过。一次无诊断的脚本提前退出后补充诊断并复跑通过,未观察到业务崩溃。

边界:防截图会影响录屏投屏;ADB 限制模式会主动拒绝调试开启或状态未知的设备。未宣称隐藏无障碍树、阻止所有 ADB 输入或保证所有 ROM/业务包无崩溃;无线切换、第三方窗口及业务全流程仍需实际应用回归。

@kairowan
kairowan merged commit 271c7e7 into main Oct 13, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant