SuperAPI AI 工具集

bypassing-root-jailbreak-detection

安全与审计

查看项目

更新于 10-16 02:29

技能介绍

本技能用于在已获授权的移动应用测试中绕过 root、越狱、模拟器、调试器和 Frida 检测。资料给出的适用场景是:应用启动即退出、提示检测到 root、仅在测试设备或模拟器上异常、Frida 附加后进程立刻死亡、objection 无法探索等。不适用于 TLS 拦截失败(应使用 bypassing-mobile-pinning)、整体评估、框架逆向或绕过 DRM。

核心思路是先判定检测发生在哪一层:Java/托管层检查(RootBeer、File.exists("/system/xbin/su")、Magisk 包查询)适合用 Java 层钩子;.so 中的原生检查(对 su 调用 stat/access/fopen、扫描 /proc/self/maps)需钩 libc 或补丁 .so;插桩检测(仅附加 Frida 时死亡、端口 27042 探测、线程名扫描)需要隐藏代理而非隐藏 root;硬件认证(Play Integrity、SafetyNet、DeviceCheck、App Attest)无法通过钩子绕过。资料建议先反编译查看引用的字符串,再决定策略。

Android 侧优先做环境隐藏而非钩子:在 Magisk 中开启 Zygisk 与 DenyList 并选中目标包,Shamiko 比 DenyList 隐藏更彻底,认证层可用 Play Integrity Fix 模块。之后再用 objection -g com.target.app explore 执行 android root disable,或 frida -U -f com.target.app -l anti-root-bypass.js --no-pause。常见 Java 钩子点包括 File.exists、Runtime.exec("su")、Build.TAGS 的 test-keys、PackageManager.getPackageInfo 及属性 ro.debuggable 等;原生检查可用 frida-trace 定位。Frida 检测本身需要单独处理,例如改用随机端口、Gadget 注入或打补丁的 Frida 构建。

iOS 侧可用 objection 执行 ios jailbreak disable,或使用 Liberty Lite、A-Bypass、Shadow 等系统级调整;需要识别并隐藏 Cydia 路径、沙箱外写入、fork() 成功、MobileSubstrate 等 dyld 镜像及 cydia:// 等特征。硬件认证(MEETS_STRONG_INTEGRITY、TEE/StrongBox 密钥认证、App Attest)由硬件签名并在厂商服务器校验,无法伪造;此时可考虑无 root 设备配合重打包应用、仅做网络层测试,或与客户协商测试期豁免认证。资料还建议在报告中说明检测质量与覆盖范围限制。