
Shadow
iOS屏蔽越狱检测
兼容性
iOS 8 – iOS 16或更高,支持Dopamine-RooHide 、Dopamine 、Palera1n、Unc0ver、Checkra1n、Odyssey、Chiemra、Taurine、Electra等越狱工具
已知问题(Known Issues)
XinaA15
不提供任何支持,但 Shadow 应该仍然可以正常工作。
palera1n
在 iOS 16.2+ 上,Substitute 在 hook C 函数 时似乎存在问题。
在这种情况下,请尝试使用 fishhook hook 库,或者用 ElleKit 替代 Substitute(?)。
故障排查(Troubleshooting)
Shadow 并不能保证在所有应用上都能正常工作,但你可以尝试以下方法:
- 使用不同的 hook 库
- fishhook 是一个安全的选择,但它在可 hook 的范围上有一定限制。
- 禁用除 Shadow 之外的所有插件
- 你可以使用 Choicy 或 libhooker Configurator 在每个应用上单独配置。
- 使用 vnodebypass(如果你的系统支持)。
- 如果你使用半越狱 / 无根越狱
- 请重启进入 正常的非越狱状态(jailed iOS),然后再尝试使用该应用。
- 尝试其他绕过插件
- 最好使用 针对某个应用专用的绕过插件。
- 注意不要同时启用多个绕过插件,以免发生冲突。
- 降级应用
- 有时候,新版本应用会引入更先进的检测手段,降级到旧版本可能有帮助。
安装(Installation)
- 在软件源列表找到
jjolano、Opa334软件源并添加到Sileo/Cydia后搜索Shadow安装
请在安装之前删除其他包含Shadow的无关软件源
如果你是RootHide越狱,请使用下列方法安装Shadow
- 在软件源列表找到
外星源、Choicy软件源并添加到Sileo/Cydia后搜索安装
使用方法(Usage)
安装完成后,你可以在 系统设置(Settings) 应用中找到 Shadow 的设置页面。
- 你可以配置 全局默认设置
- 也可以为 单个应用添加独立的配置。
Shadow 提供了对 绕过强度(bypass strength) 的细粒度控制,所以在设置里会有很多选项可供调整。
配置项介绍
Hook 库、基础 Hook、推荐 Hook、额外 Hook、危险 Hook 以及每个子选项的作用和使用建议。
一、Hook 库 (Hook Libraries)
在 Shadow 或 KernBypass 中,Hook 库决定了注入方式。
| 选项 | 说明 | 适用情况 | 风险 |
|---|---|---|---|
| fishhook | Facebook 开源的底层符号重绑定工具,直接在动态链接层 Hook 系统函数。性能高,但不兼容所有检测。 | 推荐 rootless 越狱 | 低 |
| Cydia Substrate | Saurik 出品,最传统的 Hook 框架,大多数老插件依赖它,兼容性最好,但有时被检测到。 | 推荐 rootful 越狱 | 中等 |
建议:
- 如果你在 iOS 14+ 且是 rootless 越狱 → 选 fishhook
- 如果是传统 unc0ver、checkra1n 越狱 → 选 Cydia Substrate
- 如果遇到 App 崩溃或失效,可尝试切换 Hook 库。
二、基本 Hook (Basic Hooks)
最核心、最常用的屏蔽选项,大多数 App 检测都会走这里。
| 选项 | 作用 | 使用建议 |
|---|---|---|
| 文件系统 (Filesystem) | 阻止 App 检测 /var/jb/、/Library/MobileSubstrate 等越狱目录。 | 建议开启 |
| 动态库 (Dynamic Libraries) | 隐藏已加载的越狱动态库,比如 .dylib、.so。 | 建议开启 |
| URL 处理 (URL Handling) | 阻止 App 检测 cydia://、sileo:// 等 URL Scheme。 | 建议开启 |
| 环境变量 (Environment Variables) | 一些 App 检测 DYLD_INSERT_LIBRARIES 等环境变量判断越狱,开启后会屏蔽这些变量。 | 建议开启 |
总结:基本 Hook 全部建议开启,几乎不会影响系统稳定性。
三、推荐 Hook (Recommended Hooks)
这是 Shadow 作者推荐的选项,适合大多数人。
| 选项 | 功能 | 适用场景 | 风险 |
|---|---|---|---|
| 检测框架 (Detection Frameworks) | 专门针对常见检测库,比如 App 内置的越狱检测 SDK。 | 大部分金融类、支付类 App | 低 |
| Foundation 框架 (Foundation Frameworks) | Hook NSFileManager、NSBundle 等高级 API,拦截对越狱文件的检测。 | 银行 App 常用 | 中等 |
| M1 Mac 伪装 (M1 Mac Spoofing) | 让 App 误以为自己在 Apple Silicon Mac 上运行,从而跳过 iOS 检测逻辑。 | 大部分仅限 iOS 检测的 App | 低 |
建议:
如果你想最大程度兼容支付类、银行类 App,这三项建议全部开启。
四、额外 Hook (Extra Hooks)
这些是可选的进阶 Hook,针对更复杂的检测方法。
| 选项 | 功能 | 建议 |
|---|---|---|
| Mach 服务查找 (Mach Service Lookup) | 拦截 App 通过 bootstrap_look_up() 获取系统服务,防止发现越狱服务。 | 如果 App 崩溃,建议关闭 |
| 运行时符号查找 (Runtime Symbol Lookup) | 阻止 App 动态解析符号,比如 dlsym 获取私有 API。 | 开启可提高安全性 |
| Objective-C 方法 (Objective-C Methods) | 隐藏被 Hook 的 Objective-C 方法,防止检测到越狱插件注入。 | 建议开启 |
| 反调试方法 (Anti-Debugging Methods) | 拦截 App 内部的反调试逻辑,避免被强制退出。 | 银行类、游戏类强烈建议开启 |
| 私有系统调用 (Private Syscalls) | 阻止 App 调用内核级私有 API 检测越狱状态。 | 建议开启 |
| 应用枚举 (Application Enumeration) | 防止 App 检测已安装的越狱工具,比如 Cydia.app、Filza.app。 | 建议开启 |
五、危险 Hook (Dangerous Hooks)
这些功能非常强大,但可能导致系统崩溃或 App 异常。
| 选项 | 功能 | 风险 | 建议 |
|---|---|---|---|
| 增强应用沙盒 (Enhanced App Sandbox) | 让 App 以更严格的沙盒运行,防止它探测外部目录。 | 中等 | 一般关闭,除非必要 |
| 底层文件处理 (Low-level File Handling) | Hook 内核级文件访问,防止检测 /bin/sh、/usr/libexec 等目录。 | 高 | 除非常规 Hook 失效,否则不要开 |
| 隐藏可执行内存 (Hide Executable Memory) | 隐藏越狱插件在内存中的代码段,防止游戏和支付 App 检测。 | 高 | 除非玩防作弊游戏,否则不建议开 |
| 隐藏插件的 Objective-C 类 (Hide Plugin ObjC Classes) | 隐藏所有越狱插件注册的 ObjC 类,防止 App 扫描越狱插件。 | 高 | 谨慎开启,可能导致崩溃 |
| 动态库加载器 (Dynamic Loader) | Hook dlopen()、dyld 相关方法,阻止 App 检测动态库。 | 高 | 如果 App 崩溃,先关闭 |
六、最佳实践推荐配置
| 类型 | 是否开启 | 说明 |
|---|---|---|
| Hook 库 | fishhook / Substrate | 根据越狱类型选择 |
| 基本 Hook | 全部开启 | 最安全 |
| 推荐 Hook | 全部开启 | 提高兼容性 |
| 额外 Hook | 按需开启 | 先开“反调试”“ObjC 方法” |
| 危险 Hook | 慎用 | 除非必要,不建议开 |
概述
- 如果你想要最稳的配置:
→ 基本 Hook + 推荐 Hook 按需开 - 如果要对付金融类 App(如支付宝、微信支付、银行):
→ 再额外开启 反调试 + Objective-C 方法 + 动态库隐藏 - 如果是游戏(王者、PUBG、防作弊 App):
→ 必须考虑开启部分 危险 Hook,尤其是隐藏可执行内存。

