为什么需要隐藏

几乎所有的银行、支付、游戏应用程序,都会在启动时为了“安全”尝试去获取大量的用户系统信息,如果发现异常,可能会 拒绝启动、标记你的账号,或偷偷限制一些功能 。还有一些社交或即时通讯应用(如Whatsapp、QQ),也会在运行时悄悄检测,但不一定会立刻反应异常,而是在某个时间突然封号或限制操作,给用户造成各种不必要的麻烦。

由于需要针对这些APP来隐藏环境,本文称它们为“目标APP”。

由于检测环境非常影响应用性能,所以大部分目标APP不会有过于严格的检测机制。最常见的检测为 Root权限检查、扫描敏感应用、检查Play integrity完整性 等。


2026.01 编辑:

隐藏能力排序:

KernelSU Next + SuSFS > Apatch + NoHello > Magisk + Treat Wheel

Root 隐藏基础教程:https://t.me/duck_detector/149


环境检测器

https://github.com/rushiranpise/detection

环境检测器会帮你通过各种方式查找未处理的异常。

  • Momo:经典的Rom、Root、Xposed检测器( Android 14+ 会闪退 )
  • Ruru:经典的扫描应用列表检测器
  • Hunter:综合检测,可用于Momo无法运行的Rom
  • Native Test:强大的综合检测器
  • Native Detector:强大的综合检测器
  • Key Attestation:检查证书,并得出BL锁和TEE状态
  • Simple Play Integrity Checker:检查设备完整性
  • Duck Detector:强大的综合检测器

检测器问题排查

Momo 问题排查

SELinux处于宽容模式/ART参数异常

这两个常常同时出现。很简单,开启SELinux即可
如果单独出现ART参数异常,更新到最新的LSPosed版本:1.9.2(7058)
在现代Android Rom上,为确保系统安全,SELinux都默认设置为强制执行

查看SELinux状态

getenforce

SELinux设置为强制执行

setenforce 1

包管理服务异常/权限系统异常

需要正确设置核心破解

导致该问题的原因是激活并启用了“核心破解”。
正确的做法是:激活模块后,将允许降级等选项其关闭即可,需要用时打开会即时生效。
如果仍提示权限系统异常,卸载 幸运破解器、FakeLoaction 等软件。

存在Magisk或TWRP等可疑文件

安装了TWRP后,TWRP会在内部存储根目录创建名为“TWRP”的文件夹,删除或重命名均可
建议使用原厂 Recovery ,或换橙狐 Recovery 避免直接创建类似可疑文件夹

非SDK接口的限制失效

可能是检测到了 FakeLoaction 虚拟定位软件,尝试卸载

init.rc被修改

第三方 Recovery 引起的问题,更换其他 Recovery 或刷回官方 Recovery

处于调试环境

/system/build.prop
ro.debuggable=1 导致的
先排查模块,再将其修改为 0 保存重启

Native Test / 牛头人 问题排查

忘了从哪找到的了(

Abnormal Environment - apatch 出现这个开排除修改 (安卓15出请无视) ksu用到susfs,alpha出是lsp的问题,狐狸请无视

Evil Service (1) - 墓碑相关或注入问题或隐藏应用列表版本太低了需要更新
Evil Service (2) - 检测到lsp, 换7075+
Evil Service (3) - LSPosed相关问题
Evil Service (4) - Shamiko?
Evil Service (6) - 检测到注入?

Found Hook - 检测到Xposed hook

Found Injection - 检测到Zygisk, 换ZygiskNext 1.1.0+

Futile Hide (01) - 检测到ZygiskNext开启遵守排除列表,打开zygisknext取消关闭
Futile Hide (02) - Zygisk-Assistant 在 Kitsune(检查隐藏模块)
Futile Hide (04) - 检测到内核模块Cherish Peakaboo KPM或别的模块导致, 换cherish_peekaboo_1.5+
Futile Hide (08) - KSU Umount / zygisk-detach / 狐狸有些正常模块会爆08(兼容差)/存储空间隔离模块
Futile Hide (09) - 未知
Futile Hide (10) - lsp的dex2oat挂载,卸载lsp卸载牛头然后重启手机安装内测lsp7075+/第三方7075+lsp解决
Futile Hide (14) - 检测到lsp特征文件加找到内核模块,10+4
Futile Hide (0a) - 检测到Magisk排除列表
Futile Hide (0b) - 未知

Inconsistent Mount - 检测到模块修改/系统(有模块动了system一个个检查)

Partition Check Fail - 分区效验失败/ro.boot.vbmeta.digest无效

Property Modified (01) - 系统属性被修改,如分区效验
Property Modified (07) - 序列号修改?
Property Modified (08) - 系统属性被修改,如分区效验
Property Modified (10) - 执行过”resetprop —delete”命令(一般改机型模块问题)
Property Modified (30) - 模块导致/官改

Permission Loophole - SELinux策略设置不正确,建议使用较新版本的ROOT管理器或潘多拉之类的调度内核或SELinux打开了宽容模式

Something wrong (999) - 内部应用程序错误,需要关闭隐藏应用列表Vold data 隔离

AOSP Attestation Key - 检测到AOSP密钥

Tampered Attestation Key - 检测到keybox失效/认证密钥修改,重进可能没,老版TrickyStore也会出现

Partition Modified - 检测到分区修改,禁用avb校验导致(重设哈希值可以解决),如果有哈希值问题在 PlayIntegrityFix 模块里找到 service.sh 文件,编辑找到第22行去掉#并替换“哈希值”为你的哈希值即可解决,哈希值在密钥认证里verifiedBootHash

Suspicious Surrounding - 原因未知(猜测为环境问题),普遍在apatch next开了排除修改出现,ksu出现请清理环境adb,susfs可以解決

Conventional Tests(1) - 弱bl需要安装PlayIntegrityFix解决
Conventional Tests (2) - ksu关闭卸载模块,请去超级用户打开,当然可能是其他问题目前没有发现
Conventional Tests (3) - ksu没安装shamiko模块
Conventional Tests (4) - alpha与官方面具在安卓15会出现,但apatch不会(内核模块的功劳)目前没有解决办法
Conventional Tests (6) - 检测到su,需要去隐藏一下面具就用排除列表里面勾上牛头
Conventional Tests (8) - 检测到密钥解锁了,需要更换已锁的有效密钥或者就是密钥吊销了
Conventional Tests (9) - 正常系统没有做任何隐藏bl的情况下会出需要安装PlayIntegrityFix和Tricky store及有效密钥解决
Conventional Tests (10) - 第三方ROM
Conventional Tests (18) - 第三方ROM/已解锁bootloader(类原生)无法解决请无视
Conventional Tests (1a) - 未知
Conventional Tests (1e) - 解锁bootloader/第三方ROM/检测到Magisk
Conventional Tests (a) - 检测到Bootloader Spoofer xp模块欺, 骗卸载模块
Conventional Tests (e) - 已解锁bootloader/RVX模块
Conventional Tests (f) - 已解锁bootloader/MIUI 12/检测到Magisk

Magisk 过 Root 和 Xposed 检测

安装模块Shamiko,前置条件是启用了Zygisk。

对于Magisk ,Shamiko可以隐藏Root和Zygisk等痕迹。它有黑名单和白名单两种工作模式,刷入默认是黑名单模式,也是建议使用的模式。此时一定保持在Magisk设置中关闭“遵守排除列表”,因为它与Shamiko冲突。并在设置下方”排除列表“中勾选需要隐藏的目标应用,Shamiko会遵循该列表。

Shamiko 模块主要用于在 Magisk 的 Zygisk 模式下隐藏 root 权限、Zygisk本身和其它模块。如果Magisk开启“遵守排除列表”,目标应用将在 LSPosed 等框架下无法被正常勾选,因为目标应用是真正的”被排除修改“。Shamiko就可以解决这一问题,它既能隐藏 root,又允许修改目标应用。因此Shamiko能完全取代Magisk的“遵守排除列表”功能,并且应用名单就是其“排除列表”。
为了防止被分析和针对,Shamiko是闭源模块。

**对于KernelSU ,**Shamiko可以隐藏Zygisk等痕迹。如果不安装Zygisk-Next,那么你就用不到Shamiko。Shamiko还会配合 App Profile ,无需单独手动配置。

注意:Xposed模块应用给目标app后,该app必然能检测到自身被hook,你可以尝试随便一个Xposed 模块勾选Momo,打开 Momo 看提示。有些应用会检测模块并直接禁止你使用,有些不会,还有些会默默检测然后在某个时间突然提醒并对你的账号做一些警告或限制。

防止扫描应用列表

虽然“检测安装的应用是不正确的做法”,而且很蠢,但是并不是所有的插件类应用都提供了随机包名支持。这就意味着检测到安装了 root 类应用(如 Fake Location、存储重定向)与检测到了 root 本身区别不大。(会使用检测手段的 app 可不会认为你是在“我就蹭蹭不进去”)

与此同时,部分“不安分”的 app 会使用各种漏洞绕过系统权限来获取你的应用列表,从而对你建立用户画像(如陈叔叔将安装了 V2Ray 的用户分为一类),或是类似于某某校园某某乐跑的软件会要求你卸载作弊软件。

该模块提供了一些检测方式用于测试您是否成功地隐藏了某些特定的包名,如 Magisk/Edxposed Manager;同时可作为 Xposed 模块用于隐藏应用列表或特定应用,保护隐私。

安装并激活 隐藏应用列表/HMA(LSP勾选系统框架),重启设备以生效。

首先进入设置-数据隔离,确保三项全部打开。(修改需Root权限)

创建模板:

白名单

白名单内只有勾选的应用对于目标APP可见。在模板管理创建白名单,只勾选浏览器应用、文件管理器应用、Word等应用即可,确保目标APP能正常打开链接或文件。再打开“排除系统应用”

通常对Ruru和游戏、银行应用白名单更方便。打开Ruru,应一切正常。

黑名单

白名单内只有勾选的应用对于目标APP不可见。在模板管理创建黑名单,勾选Magisk、KSU、隐藏应用列表(本身),以及所有需要Root权限工作的应用等。

极少数应用在白名单模式下无法正常打开。对此类应用需要使用黑名单模式,即隐藏异常应用。

之前酷安有一篇文章(很快就没了)证实了QQ、应用宝、华米的系统应用等均含有一个组件,它会扫描用户的已安装APP,记录手机号等个人信息,在/DCIM生成一个.tmfs文件夹保存它们并上传到同一个IP的服务器~~(位于广东)~~。想必是很贴心的个性化服务吧(

隐藏开发者选项

最简单的做法是关掉它,如果你不需要天天ADB或使用其它开发者功能。

有些类原生Rom都自带对应用隐藏开发者选项功能。

此外,还可以使用Xposed模块 ”我不是开发者/IAmNOTADeveloper“ 来隐藏开发者选项和USB调试。但代价是目标应用会检测到被Hook。

Bootloader已解锁/TEE损坏

解BL锁 —> 炸TEE —> 丢失原厂Key,应用会验证证书来得知前两项状态。目前没有办法真正在解锁状态下修复TEE,也不可能在解锁后恢复原厂证书。所以最好的方法是伪造AOSP证书将该状态隐藏

安装Tricky Store,它会将设备证书链替换为AOSP证书。

https://github.com/5ec1cff/TrickyStore

在data/adb/tricky_store/target.txt里,把检测器包名和需要其它隐藏BL/TEE状态的应用包名放进去。

io.github.vvb2060.keyattestation
io.github.vvb2060.mahoshojo
icu.nullptr.nativetest

打开Key Attestation,它应该显示AOSP证书和BL已锁定。Momo不再提示BL已解锁/TEE损坏。

很少有应用会检测这一点,并且target.txt里不要添加太多应用,可能会造成卡顿。

SuSFS隐藏环境

SuSFS需要专门修改和编译内核。如果不是使用自定义Rom,通常没必要使用SuSFS。

Reddit上的教程:

[Tutorial] susfs - Best root hiding method currently available

SUSFS KSU 模块

https://github.com/sidex15/susfs4ksu-module

已经编译了SUSFS的内核:

https://github.com/WildKernels/GKI_KernelSU_SUSFS