APatch 中文文档 下载 App

Shamiko 为什么不能在 APatch 上用

Shamiko 是什么

Shamiko 是 Magisk 生态里最流行的 root 隐藏模块——它能让 SafetyNet 和 Play Integrity 检测不到设备被 root 过,同时允许开发者模式和 USB 调试正常开启。大量需要过 root 检测的 App(银行、游戏、企业 MDM)都依赖它。

为什么 Shamiko 在 APatch 上不能用

APatch 官方文档明确说:

无法使用 Shamiko。Shamiko 是专有软件,其闭源特性导致无法适配。

技术原因:Shamiko 是闭源的 Magisk 模块,它内部实现了对 Magisk 特定机制的 hook(magisk 内部 API、su 守护进程 hook),这些机制在 KernelSU 和 APatch 里都不存在。没有源码的情况下,没法做适配。

风险提醒

官方同时说:

APatch 开发者将不对任何因使用 Shamiko 导致的问题承担任何责任,你需要自行承担使用风险。

不只是不能用——尝试强行把 Shamiko 装到 APatch 上还可能导致:

APatch 有原生 root 隐藏能力吗

好消息是:APatch 本身的设计就比 Magisk 更隐蔽——root 在内核空间、SuperCall 密钥错误时静默返回、没有 su 守护进程和 su 二进制。很多 Magisk + Shamiko 组合想解决的问题,APatch 默认就解决了:

隐藏项目Magisk 需要 ShamikoAPatch 原生行为
su 二进制Shamiko 隐藏不存在 su 二进制
magisk 属性Shamiko 修改 build.prop不存在 magisk 属性
SafetyNetShamiko pass可能直接 pass(但不完全保证)
文件检测 /data/adbShamiko hookKPM 可以 hook access()/open()
Play IntegrityShamiko pass看设备型号(官方还是非官方 ROM)

可替代方案

虽然 Shamiko 不能用,但有几种替代思路:

KPM 内核级 hook

用 KPM hook access()、openat()、getdents64() 等 syscall——检测 App 对 root 痕迹的探测请求时直接拦截。比 Shamiko 的用户空间 hook 更彻底。

GitHub 上有现成的 KPM root 隐藏模块,搜一下就能找到。

Zygisk 下的 LSPosed 模块

如果已经装了 ZygiskNext,可以装 LSPosed 的 root 隐藏模块——在 Java 层 hook SafetyNet/Play Integrity 的调用逻辑。

APatch 白名单 + KPM 组合

最干净的方案:

  1. 用 KPM 内核级 hook 彻底隐藏 root 痕迹
  2. 用 APatch 的白名单控制哪些 App 能获取 root
  3. 不开 su 守护进程(APatch 默认就这样)
  4. 不碰 SELinux policy(APatch 默认 hook 绕过)

关于 Riru 的情况

Riru 也是 Magisk 生态的组件,它通过 modifyboot 方式修改 boot 分区,在 Zygote 进程启动前注入自己。Riru 也和 APatch 不兼容——Riru 假设 boot 分区的 ramdisk 有特定结构,而 APatch 修补内核后这个结构可能已经变了。

总结