TrollStore(巨魔商店)介绍及操作手册
一、TrollStore 简介
TrollStore 是一款针对 iOS 设备开发的第三方应用安装工具,它允许用户在不越狱设备的情况下,安装和使用未经过苹果官方 App Store 审核的应用程序。该工具利用了 iOS 系统中的 CoreTrust 漏洞,实现了应用的永久签名和安装,且安装的应用没有过期限制和闪退问题,为用户提供了更多使用应用的可能性。不过,使用 TrollStore 可能违反苹果公司的使用条款,存在一定风险,可能导致设备安全问题以及 Apple ID 被限制或封禁。
二、支持系统版本
目前,TrollStore 支持 iOS 14.0 - 14.8.1、iOS 15.7.2 - 15.9 以及 iOS 16.2 - 16.6.1/17.0 等系统版本,但不支持 iOS 16.7.x(除 RC 外)和 iOS 17.0.1 及以上版本。未来可能会因新的 CoreTrust 漏洞发现而增加对其他版本的支持。
三、安装手册
TrollStore 的安装过程因设备芯片类型(如 arm64 (A8)、arm64 (A9 - A11)、arm64e (A12 - A17/M1 - M2))和 iOS 版本不同而有所差异。以下是详细的安装指南:
(一)不同版本和芯片对应的安装方式
起始版本 | 结束版本 | arm64 (A8) | arm64 (A9 - A11) | arm64e (A12 - A17/M1 - M2) |
---|---|---|---|---|
14.0 beta 1 及以下 | - | 不支持 | 不支持 | 不支持 |
14.0 beta 2 | 14.8.1 | TrollInstallerX | TrollHelperOTA | |
15.0 | 15.5 beta 4 | - | TrollHelperOTA | |
15.5 | 15.5 | TrollInstallerMDC | TrollInstallerX | TrollHelperOTA |
15.6 beta 1 | 15.6 beta 3 | - | TrollHelperOTA | |
15.6 beta 4 | 15.6.1 | TrollInstallerMDC | TrollInstallerX | TrollHelperOTA |
15.7 | 15.7.1 | TrollInstallerMDC | TrollInstallerX | |
15.7.2 | 15.8.3 | - | TrollMisaka | TrollInstallerX |
16.0 beta 1 | 16.0 beta 3 | 不适用 | TrollInstallerX | TrollHelperOTA |
16.0 beta 4 | 16.6.1 | 不适用 | - | TrollInstallerX |
16.7 RC | 16.7 RC | 不适用 | - | TrollRestore |
16.7 | 16.7.10 | 不适用 | 不支持 | 不支持 |
17.0 beta 1 | 17.0 beta 4 | 不适用 | TrollInstallerX | TrollRestore |
17.0 beta 5 | 17.0 | 不适用 | - | TrollRestore |
17.0.1 及以上 | - | 不适用 | 不支持 | 不支持 |
(二)具体安装步骤示例(以 TrollHelperOTA 为例)
- 访问安装地址 :打开 Safari 浏览器,输入链接 https://github.com/opa334/TrollStore。若该链接失效,可通过官方页面获取最新地址。
- 转换为安装器:安装完成后,打开 GTA Car Tracker 应用,它会自动变为紫色安装器,点击 Install TrollStore。
- 完成安装:手机会自动重启,重启后桌面将出现 TrollStore 图标。打开 TrollStore,进入 Settings 安装 ldid,此步骤是确保后续 IPA 安装功能正常运行的关键。
(三)其他安装方式说明
- TrollInstallerX 安装:使用工具(如轻松签或全能签)对 TrollInstallerX 进行签名,然后安装到设备上。打开 TrollInstallerX,点击 Install TrollStore,若提示选择注入应用,推荐选择系统级别的无用应用(如"提示")。安装完成后,桌面会出现 TrollStore 图标,打开并安装 ldid。
- TrollRestore 安装:适用于特定版本(如 16.7 RC、17.0 部分版本),具体安装步骤可参考官方文档或相关论坛的详细教程。
- TrollMisaka 辅助安装:对于部分设备,可能需要配合 TrollMisaka 完成安装。例如,先在 App Store 下载官方 Tips 应用,再下载最新版的 Misaka - ipa 安装包,通过自签名或者使用 Sideloady、AltStore、轻松签、牛蛙助手、爱思助手等工具进行自签名安装。打开 Misaka,底部切换到 Packages,点击左下角四方形图标(可能需要挂 VPN),点击 Install Trollstore,此时会自动注销返回桌面。点击 Tips(如果 iOS 版本低于 16.1.2,则选择 MDC,如果 iOS 版本 16.2 - 16.5,则选择 KFD,可能需要多次尝试才能成功),然后打开 Tips APP,点击 Install TrollStore 开始安装。
四、应用安装与管理
(一)应用安装
将 IPA 文件分享到 TrollStore(桌面上的蓝色图标),TrollStore 会自动完成安装,安装完成后应用图标会出现在主屏幕上;也可以通过文件应用将 IPA 导入 TrollStore 进行安装。
(二)应用更新
当有新的 TrollStore 更新版本时,在 TrollStore 设置的顶部会出现安装更新的按钮。点击该按钮,TrollStore 会自动下载更新、完成安装并重新加载。若自动更新出现问题,可在"发布"页面下载 TrollStore.tar 文件,然后在 TrollStore 中打开该文件,TrollStore 会安装更新并重新加载。
(三)应用卸载
从 TrollStore 安装的应用程序只能通过 TrollStore 进行卸载。在 TrollStore 的"应用程序"选项卡中,点击要卸载的应用程序,或者在该应用程序上向右滑动,即可将其删除。
五、持久性助手
TrollStore 利用的 CoreTrust 错误仅能满足"系统"应用程序的安装。由于每次用户应用程序启动前,FrontBoard 会进行额外的安全检查(调用 libmis),且无法安装通过图标缓存重新加载而保留的新"系统"应用程序,所以当 iOS 重新加载图标缓存时,所有通过 TrollStore 安装的应用程序(包括 TrollStore 本身)都会恢复为"用户"状态,无法启动。
解决方法是将持久性帮助程序安装到系统应用程序中,然后使用此帮助程序将 TrollStore 及其已安装的应用程序重新注册为"系统"应用,使其能够再次启动。TrollStore 设置中提供了这一选项。在越狱的 iOS 14 设备上,使用巨魔助手进行安装时,它位于 /Applications 目录中,会作为"系统"应用程序通过图标缓存重新加载而保留,因此 TrollHelper 在 iOS 14 上可作为持久性助手使用。
六、网址方案
从 1.3 版本开始,TrollStore 取代了系统 URL 方案"apple - magnifier",目的是防止"越狱"检测发现 TrollStore。该 URL 方案可用于直接从浏览器安装应用程序,或从应用程序本身启用 JIT(仅适用于 2.0.12 及更高版本),具体格式如下:
apple - magnifier://install?url=<URL_to_IPA>
:用于从指定的 IPA 文件 URL 安装应用程序。apple - magnifier://enable - jit?bundle - id=<Bundle_ID>
:用于为指定的应用程序 Bundle ID 启用 JIT。
在未安装 TrollStore (1.3+)的设备上,访问这些 URL 方案只会打开放大镜应用程序。
七、功能特性及注意事项
(一)任意权限支持
IPA 文件中的二进制文件可以拥有任意权限。使用 ldid 和所需的权限对其进行"假签名",TrollStore 在安装时会使用假根证书重新签名并保留这些权限。例如,使用命令"ldid -S<path/to/entitlements.plist> <path/to/binary>"。
(二)禁止的权限
在搭载 iOS 12 的 A15 及更高版本设备上,有三项与运行未签名代码相关的权限已被禁止,分别是"com.apple.private.cs.debugger"、"dynamic - codesigning"和"com.apple.private.skip - library - validation"。如果没有 PPL 绕过,使用这些权限签名的应用程序在启动时将会崩溃。
(三)取消沙盒
应用程序可以通过以下授权之一以非沙盒方式运行:
xml
<key>com.apple.private.security.container-required</key>
<false/>
<key>com.apple.private.security.no-container</key>
<true/>
<key>com.apple.private.security.no-sandbox</key>
<true/>
若应用程序仍需要沙盒容器,建议使用第三个授权。此外,为使应用正常工作,可能还需要平台应用程序授权:
xml
<key>platform-application</key>
<true/>
需要注意的是,平台应用程序授权可能会带来一些副作用,例如沙盒的某些部分会变得更加严格,因此可能需要额外的私有授权来规避这种情况(比如,之后需要为要访问的每个 IOKit 用户客户端类提供例外授权)。为了使应用具有并能够访问其自己的数据容器,可能还需要额外的权限:
xml
<key>com.apple.private.security.storage.AppDataContainers</key>
<true/>
(四)根帮助程序
当应用程序未处于沙盒环境时,可以使用 posix_spawn 生成其他二进制文件,甚至可以以拥有"com.apple.private.persona - mgmt"权限的 root 身份生成二进制文件。还可以将自己的二进制文件添加到应用程序捆绑包中,之后可以使用 TSUtil.m 中的 spawnRoot 函数以根身份生成二进制文件。
(五)无法实现的功能
- 无法获得适当的平台化(TF_PLATFORM / CS_PLATFORMIZED)。
- 无法生成启动守护进程(需要 CS_PLATFORMIZED)。
- 无法将调整注入系统进程(需要用户空间 PAC 旁路和 PMAP 信任级别旁路)TF_PLATFORM。