TrollStore(巨魔商店)介绍中文
TrollStore 是一个永久入狱的应用程序,可以永久安装您在其中打开的任何 IPA。
它的工作原理是 AMFI/CoreTrust 错误,它无法验证用于签署二进制文件的根证书是否合法。
TrollStore 适用于 iOS 14.0 - 15.4.1、 iOS 15.5 beta 1 - iOS 15.5 beta 4 和 iOS 15.6 beta 1 - iOS 15.6 beta 5。
不支持iOS 15.5 RC / 完整版本 。
不支持高于 iOS 15.6 beta 5(包括 iOS 15.6 RC/完整版本)的任何版本 。
不 支持低于 iOS 14.0 的任何版本 。
任何现在不支持的东西都 不会被支持, TrollStore 是一次性的,将来不会收到兼容性更新,请 停止询问 ,GitHub 有关版本支持的问题将在 没有答案的情况下关闭。
安装链接 2 - 支持 iOS 14 及更高版本上的所有 arm64e (A12 - A15) 设备
请参阅上面的“兼容性”以检查您的版本是否兼容,如果不兼容,则这些链接将不起作用。
不幸的是,这种安装方法不适 用于 arm64 (A8 - A11) iOS 14 设备,对于这些设备,请使用 checkra1n 越狱,然后使用下面的越狱安装指南。
根据您使用的设备,选择上面的两个链接之一并点击它。
应该会出现一个警报,点击“安装”。
安装完成后,您会在您的设备上找到“GTA Car Tracker”应用程序。
如果这个应用程序没有出现,那是一个 iOS 漏洞,重启你的设备,它就会出现。
启动应用程序,点击“安装 TrollStore”。
等待几秒钟,您的设备应该会重新启动并安装 TrollStore。
您现在可以删除“GTA Car Tracker”应用程序,或者将其注册为持久性助手,方法是打开它并点击底部的选项并保留它。
打开 TrollStore 应用程序并在设置选项卡中按“安装 ldid”,然后阅读“持久性”下的信息,如果需要持久性,则将持久性助手安装到系统应用程序中(如果您将 GTA Car Tracker 应用程序注册为步骤 7 中的持久性助手)。
完成后,您现在可以与 TrollStore 共享 IPA 文件,它们将永久安装在您的设备上。
支持运行 14.0 或更高版本的越狱设备。
打开你的包管理器,确保在 Sources 下添加 Havoc repo ( https://havoc.app ),然后搜索“TrollStore Helper”并安装它
安装后,respring 和“TrollHelper”应用程序应该在您的主屏幕上,启动它。
启动应用程序,点击“安装 TrollStore”。
等待几秒钟,您的设备应该会重新启动并安装 TrollStore。
打开 TrollStore 应用程序并在设置选项卡中按“安装 ldid”,然后阅读“持久性”下的信息,主屏幕上的 TrollHelper 应用程序将成为您的持久性助手。
完成后,您现在可以与 TrollStore 共享 IPA 文件,它们将永久安装在您的设备上。
当有新的 TrollStore 更新可用时,安装它的按钮将出现在 TrollStore 设置的顶部。点击按钮时,TrollStore 将自动下载更新、安装并重新启动。
或者(如果出现任何问题),您可以下载 Releases 下的 TrollStore.tar 文件并在 TrollStore 中打开它,TrollStore 将安装更新并重新启动。
从 TrollStore 安装的应用程序只能从 TrollStore 本身卸载,点击应用程序或在“应用程序”选项卡中向右滑动以将其删除。
TrollStore 中使用的 CoreTrust 错误仅足以安装“系统”应用程序,这是因为每次启动用户应用程序之前,FrontBoard 都会进行额外的安全检查(它调用 libmis)。不幸的是,无法安装通过图标缓存重新加载的新“系统”应用程序。因此,当 iOS 重新加载图标缓存时,所有安装了 TrollStore 的应用程序(包括 TrollStore 本身)都将恢复为“用户”状态并且不再启动。
解决此问题的唯一方法是将持久性帮助程序安装到系统应用程序中,然后可以使用此帮助程序将 TrollStore 及其安装的应用程序重新注册为“系统”,以便它们再次可启动,TrollStore 中提供了一个选项设置。
在越狱的 iOS 14 上,当使用 TrollHelper 进行安装时,它位于 /Applications 中,并将通过重新加载图标缓存作为“系统”应用程序持续存在,因此 TrollHelper 在 iOS 14 上用作持久性助手。
IPA 中的二进制文件可以具有任意权利,使用 ldid 和您想要的权利ldid -S<path/to/entitlements.plist> <path/to/binary>
(这为您提供了很多可能性,其中一些将在下面解释。
A12+ 上的 iOS 15 禁止了以下三个与运行未签名代码相关的权利,如果没有 PPL 绕过,这些权利是不可能获得的,使用它们签名的应用程序将在启动时崩溃。
com.apple.private.cs.debugger
dynamic-codesigning
com.apple.private.skip-library-validation
您的应用可以使用以下权利之一在未沙盒的情况下运行:
<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/>
如果您仍需要为您的应用程序提供沙盒容器,建议使用第三个。
您可能还需要平台应用程序授权才能使它们正常工作:
<key>platform-application</key> <true/>
请注意,平台应用程序权利会导致副作用,例如沙箱的某些部分变得更紧,因此您可能需要额外的私有权利来规避这种情况。(例如,之后您需要为要访问的每个 IOKit 用户客户端类提供异常权利)。
当您的应用程序没有被沙盒化时,您可以使用 posix_spawn 生成其他二进制文件,您还可以使用以下权利以 root 身份生成二进制文件:
<key>com.apple.private.persona-mgmt</key> <true/>
因为根二进制文件需要特殊权限,所以您需要在应用程序的 Info.plist 中指定所有根二进制文件,如下所示:
<key>TSRootBinaries</key> <array> <string>roothelper1</string> <string>some/nested/roothelper</string> </array>
注意: TSRootBinaries 数组中的路径是相对于 Info.plist 的位置的,您也可以在其他包中包含此键,例如应用程序插件。
之后,您可以使用 TSUtil.m 中的 spawnRoot 函数以 root 身份生成二进制文件。
获得适当的平台化 / CS_PLATFORMIZED
产生一个启动守护进程(需要 CS_PLATFORMIZED
)
将调整注入系统进程(需要 CS_PLATFORMIZED
用户级 PAC 绕过和 PMAP 信任级别绕过)
@LinusHenze - 发现了允许 TrollStore 工作的 CoreTrust 错误。