Skip to content

About

使用xposed hook假装自己没有使用无障碍服务。升级到LSPosed Modern API 102 & 性能优化版,自用。

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

自用fork版本更新日志 (ChangeLog)

需要自行编译

7.0 (LSPosed Modern API 102 & 性能优化版)

🚀 核心框架升级

  • 升级至 LibXposed API 102 规范:
    • 弃用传统的 de.robv.android.xposed:api:82,全面迁移至现代 io.github.libxposed:api:102.0.0。
    • 入口类重构为继承 XposedModule,采用现代拦截器链模型(Hooker / Chain)。
    • 新增标准元数据文件 META-INF/xposed/module.prop、java_init.list 与 scope.list。
    • 清单文件中将 xposedminversion 更新为 102,并在 ProGuard 规则中加入官方保护指令。
    • 支持模块热重载(Hot Reloading),更新配置或模块时无需频繁重启目标应用。

🌐 作用域与推荐应用

  • 推荐应用新增 Microsoft Edge:
    • 在模块作用域列表(scope.list 及 strings-notran.xml)中正式添加 com.microsoft.emmx。
    • Edge 浏览器现可与 Chrome 一样,在开启辅助服务的同时正常使用现代标签页分组与流移动画。

⚡ 性能深度优化 (解决卡顿与掉帧)

  • 零开销直通路径:
    • 优先通过底层 chain.proceed() 嗅探系统无障碍状态,若系统未启用任何无障碍服务,直接返回 false,完全跳过耗时的堆栈捕获。
  • Android 14+ (API 34+) 惰性堆栈遍历:
    • 引入 JVM 级别的 java.lang.StackWalker,按需逐层惰性遍历栈帧,彻底消除全栈展开的 CPU 峰值与 StackTraceElement[] 堆内存频繁分配。
  • 动态栈帧定位(消灭硬编码):
    • 对 Android 14 以下设备,摒弃此前硬编码 [3] / [4] 极易失效的写法,单次抓取并动态查找 AccessibilityManager 后的真实调用方,既大幅降低多重克隆开销,又彻底解决了随 LSPosed 内部层级变动而失效的兼容问题。
  • 精准放行原生读屏:
    • 维持对 android.、androidx.、com.android. 以及 Chromium 内核读屏桥接层(org.chromium.content.browser.)的精准放行,确保 TalkBack 等真实读屏功能稳定可用。

🛠 构建系统现代化

  • 升级 Gradle Wrapper 至 7.5.1,解决在 Java 17 / 21 环境下编译报错(Unsupported class file major version 61)的问题。
  • 升级 Android Gradle 插件至 7.3.1,Kotlin 插件至 1.7.10,适配 Android SDK 34。

IAmNotDisabled

使用xposed hook假装自己没有使用无障碍服务,
img CI img

!!!本项目并非反反作弊用途,只针对善意的无障碍检测,不保证对反作弊检测有效!!!

起因:https://www.v2ex.com/t/826317
使用无障碍服务会被部分app特殊对待,
然而有可能使用了无障碍只是为了便利,并不希望被优待,
于是有了本项目,
针对chrome,假装自己没有使用无障碍服务,才可以使用新版的各种标签相关功能和动画,

项目包含两个应用模块

  • app 我残? 用于测试hook效果,打开时检测到无障碍服务就会提示,
  • hook 非残! xposed模块通过hook负责查询无障碍的系统服务伪装成没有启用无障碍服务,

模块使用需求

  • 安卓8以上,不为啥,只是觉得没必要支持旧版,
  • Riru-LSPosed 1.6.5以上,不为啥,只是因为我开发时在用的就是这个,
  • 理论上对任何目标应用都有效,

模块使用方法

  1. 手机解锁,
  2. 刷入Magisk,
  3. 刷入Magisk模块Riru和Riri-LSPosed,
  4. 安装“非残!”,IAmNotDisabled-hook.apk,
  5. 在LSPosed中激活非残并勾选需要隐瞒无障碍服务应用,比如chrome,
  6. 重启目标应用生效,

下图,开启“李跳跳”的同时使用chrome的新版标签,
img

About

使用xposed hook假装自己没有使用无障碍服务。升级到LSPosed Modern API 102 & 性能优化版,自用。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages