非越狱 iOS 完整使用 TrollStore:安装、验收与进阶操作笔记
【免费下载链接】TrollStoreJailed iOS app that can install IPAs permanently with arbitary entitlements and root helpers because it trolls Apple项目地址: https://gitcode.com/GitHub_Trending/tr/TrollStore
TrollStore 是一个沙盒化的 iOS 应用,把 IPA 交给它之后会被重新签名并永久安装,且签名时保留二进制上已有的任意 entitlements。它不需要越狱,装好的应用也没有有效期,原理是利用了 AMFI/CoreTrust 在处理"多签名者二进制"时校验不严格的缺陷。
安装前的版本决策门
先看结论:只有特定 iOS 版本区间内才值得安装,版本不符时直接放弃,因为该漏洞的修复状态决定了后续没有任何补救手段。
自查方法:打开"设置 → 通用 → 关于本机",记下系统版本号,对照下表判断。
| iOS 版本 | 是否支持 | 说明 |
|---|---|---|
| 14.0 beta 2 – 16.6.1 | 支持 | 主支持区间 |
| 16.7 RC(build 20H18) | 支持 | 16.7 系列中仅此一个可用 |
| 17.0 | 支持 | 17 系列中仅此一个可用 |
| 16.7.x(不含 RC) | 永远不支持 | 项目方明确表态 |
| 17.0.1 及以上 | 永远不支持 | 除非出现第三个 CoreTrust 漏洞,可能性极低 |
系统升级是不可逆操作,单独提示:TrollStore 的可用性完全绑定在特定系统版本上。计划升级 iOS 之前,先确认目标版本在上表的"支持"列;一旦升到 17.0.1 或更高,已安装的 TrollStore 将随系统失效且无法恢复,建议先备份数据再评估是否真的需要升级。
另外两个该不该装的前置判断:
- 设备是否真的需要"永久装任意 IPA"。只是短期侧载体验的话,普通侧载方案更简单,不值得承担版本绑定风险。
- 能否只安装来源可信的 IPA。TrollStore 允许应用脱离沙盒运行,来源不明的包拥有接近系统级的能力,误装的后果比普通插件更直接。
最短安装路径
TrollHelper 是安装的唯一入口:构建流程(见仓库根目录 Makefile)会把 root 助手(RootHelper 产物)和持久化助手(PersistenceHelper)分别嵌入 TrollHelper,并按 iOS 15 注入版与 arm64e 版生成两套安装 IPA。
最短路径三步:
- 按设备系统版本,把 TrollHelper 装进设备——iOS 15 及以上走 OTA 注入方式,iOS 14 越狱环境下直接安装。
- 打开 TrollHelper,等待其自动执行 TrollStore 的安装流程。
- 设备 respring 后,主屏出现 TrollStore 图标即完成。
可选分支:如果只需要最基础的 IPA 安装能力,可以装仓库里的 TrollStoreLite 变体,功能更精简、包体更小。
安装后的验收与自检
装完按下面几条逐一确认,任何一条不满足就说明安装链路有问题:
- respring 正常发生,且主屏能看到 TrollStore 图标。
- 用"+""装一个小型 IPA(见下节),应用能正常启动且重启设备后仍在。
- 在"Apps"标签页能看到该应用。
- 主屏长按装好的应用无法删除——这是预期行为,不是故障,这类应用只能回 TrollStore 内卸载。
还有一个隐蔽故障需要知道:图标缓存重载后,TrollStore 及其安装的应用可能退回不可启动状态(原因与解法见下文"应用突然打不开"一节)。
场景化操作
安装一个 IPA
- 打开 TrollStore,点击"+",从文件选择器中挑设备上的 IPA;也可以系统级"打开方式"把 IPA 交给 TrollStore。
- 等待重新签名完成,图标出现在主屏。
- 启动应用确认可用。
删除 TrollStore 装的应用
主屏长按删除对这类应用无效,操作只能在 TrollStore 内完成:
- 进入"Apps"标签页。
- 点按目标应用,或向左滑动。
- 确认删除。
更新 TrollStore 自身
- 有新版时,设置页顶部会出现安装按钮,点按后自动下载、安装并 respring。
- 自动更新失败时:从 Releases 下载 TrollStore.tar,直接用它打开,TrollStore 会完成更新并 respring。
授予高级权限(entitlements)
TrollStore 重新签名时会保留二进制上已有的假签名权限,所以用ldid预签即可——命令含义:用指定的entitlements.plist对目标二进制做假签名。
ldid -S<entitlements.plist路径> <二进制路径>| 目标 | 关键 entitlement | 说明 |
|---|---|---|
| 脱离沙盒 | com.apple.private.security.no-sandbox设为true | 三种去沙盒写法中推荐此条,应用仍保留沙盒容器 |
| 保留容器但去沙盒受限 | com.apple.private.security.container-required设为false或com.apple.private.security.no-container设为true | 完全不要容器时用 |
| 让上述权限生效 | 可能需要platform-application设为true | 有副作用:部分沙盒规则会变严,访问 IOKit 等需要逐个加豁免 |
| 以 root 身份 spawn 二进制 | com.apple.private.persona-mgmt设为true | 前提是应用已脱离沙盒;仓库内spawnRoot工具函数可直接用 |
iOS 15 的 A12 及以上机型禁用以下三项 entitlement,带它们签名的应用启动即崩溃,不需要 PPL bypass 就无法绕过:
com.apple.private.cs.debuggerdynamic-codesigningcom.apple.private.skip-library-validation
浏览器直装
1.3 版本起,TrollStore 接管了系统 schemeapple-magnifier(选这个 scheme 是为了不被"越狱检测"类特征识别;未装 TrollStore 的设备上它只会打开系统放大镜,因此无副作用)。两条常用格式:
apple-magnifier://install?url=<IPA地址>:让 TrollStore 下载并安装指定 IPAapple-magnifier://enable-jit?bundle-id=<Bundle_ID>:为指定应用开启 JIT(需 TrollStore 2.0.12 及以上)
应用突然打不开:持久化助手
原因:CoreTrust 漏洞只能把应用装成"System"状态,而 FrontBoard 每次启动用户应用前都会再走一道 libmis 校验;图标缓存重载后,TrollStore 及其安装的应用会退回"User"状态,从此无法启动。解法是往一个系统应用里注入持久化助手,再用它把 TrollStore 和应用重新注册回"System"——入口就在 TrollStore 的设置页。iOS 14 越狱环境下,位于/Applications的 TrollHelper 本身能扛过图标缓存重载,会被直接用作持久化助手。
能力边界与红线
README 明确列出了做不到的事,规划功能时不要越线:
- 无法获得真正的平台化(
TF_PLATFORM/CS_PLATFORMIZED) - 无法创建 launch daemon(依赖
CS_PLATFORMIZED) - 无法向系统进程注入 tweak(依赖
TF_PLATFORM及额外的用户态绕过)
两条红线:
升级风险:TrollStore 的存活绑定系统版本,17.0.1 及以上已确认无解。升级前务必核对版本支持表,这一步不可逆。
来源风险:TrollStore 本身开源,但它赋予所装应用不受沙盒限制的能力。非沙盒应用拿到的是系统级权限,只装自己信任的包,没有别的稳妥办法。
速查与延伸阅读
| 任务 | 入口 |
|---|---|
| 判断能否安装 | 设置 → 关于本机,对照版本支持表 |
| 安装 | TrollHelper 自动执行 |
| 装 IPA | TrollStore 内"+"或系统"打开方式" |
| 删应用 | TrollStore "Apps" 标签页内 |
| 更新自身 | 设置页顶部按钮,或打开 TrollStore.tar |
| 应用打不开 | 设置页安装/重装持久化助手 |
| 高级权限 | ldid预签 entitlements 后交给 TrollStore |
一句话总结:版本在支持区间内才值得装;装完按验收清单自检;日常操作全部在应用内完成;越界需求(平台化、daemon、系统进程注入)不在能力范围内。
延伸阅读(仓库内路径):
- 核心签名与安装流程:Exploits/fastPathSign/src/main.m
- CoreTrust 漏洞绕过入口:Exploits/fastPathSign/src/coretrust_bug.h
- root spawn 工具函数
spawnRoot:Shared/TSUtil.m - root 助手实现:RootHelper/main.m
【免费下载链接】TrollStoreJailed iOS app that can install IPAs permanently with arbitary entitlements and root helpers because it trolls Apple项目地址: https://gitcode.com/GitHub_Trending/tr/TrollStore
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考