侧载简单来说就是绕过官方应用商店,直接从其它来源安装应用程序的行为,这在安卓手机上是司空见惯了,所以我们都说安卓的可玩性高,但我们有没有什么办法让 iOS 也能够侧载呢,提高其可玩性呢?

答案是可以,比如 AltStoreSideloadly 等,都可以实现 iOS 侧载,它们是利用开发者账号对应用进行重签名,因为苹果允许开发者安装任意应用到 iOS 设备上,但是这种「官方允许」的侧载方式有一些缺点:比如免费的开发者账号只能允许应用运行 7 天,到期之后需要重新侧载,而且免费的开发者账号只能同时安装 3 个侧载应用;付费的开发者账号可以让应用持续一年,并且没有安装数量的限制,只不过多数使用者是没有付费的开发者账号的,付费的话每年 99 美元也是一笔不小的费用;还有很多缺点和限制就不一一介绍了,有兴趣可以去看以上侧载工具的 FAQ。

「官方允许」的侧载方式总让人有种遗憾,有各种缺点和限制,这不是真正的自由的侧载。

是时候让我们的主角 TrollStore 登场了,它利用了 iOS 系统的 AMFI/CoreTrust bug,可以实现永久安装任意应用,但是利用的 CoreTrust bug 仅足以安装「系统」应用程序,这可以给用其安装的应用带来更多的权限,虽然比不上越狱拥有的权限多,但是风险也不可小觑,比如 SeaShell,可以通过 TrollStore 来安装,能够实现远程访问设备、控制设备、提取敏感信息等功能。

在这里提醒一下使用 TrollStore 来安装应用 (IPA) 是有很大风险的,建议大家使用备用 iOS 设备来安装 TrollStore,并且不要存放敏感信息;还有就是安装了 TrollStore 的 iOS 设备不能更新系统,因为更新到最新系统之后 TrollStore 就失效了,这进一步降低了系统的安全性。

安装 TrollStore 介绍

安装方法参考自:https://ios.cfw.guide/installing-trollstore/,不同的设备不同的系统版本安装 TrollStore 安装方式不同,比如我的设备是 iPad mini 6 系统版本为 16.4.1,查看下图(来自上面的教程)可以看到可以通过 TrollInstallerX 来安装 TrollStore。
installing-trollstore-guide

TrollInstallerX 安装方法参考自:https://ios.cfw.guide/installing-trollstore-trollinstallerx/,本教程使用 Sideloadly 侧载工具将其安装到 iOS 设备中,你可以使用其它喜欢的侧载工具。

安装 Sideloadly

安装方法参考自:https://sideloadly.io/

  1. 安装 iTunes 和 iCloud(只在 Windows 系统上需要安装,macOS 系统可以跳过),
    需要注意的是:必须卸载 Microsoft Store 的 iTunes 和 iCloud(如果他们存在),然后安装非 Microsoft Store 版本的。
    下载链接:iTunes x64 - iTunes x32iCloud

    itunes-installing icloud-installing

  2. 安装 Sideloadly,期间会提示需要管理员权限。
    Windows 版下载链接:Sideloadly x64 - Sideloadly x32;macOS 版下载链接:Sideloadly

    sideloadly-installing sideloadly-warning-needs-administrator-permission

安装 TrollInstallerX 到 iOS 设备

首先下载 TrollInstallerX,到这里下载最新版:https://github.com/alfiecg24/TrollInstallerX/releases/latest,下载完成得到一个 TrollInstallerX.ipa 文件。

小插曲:我在 Windows 系统上下载的时候被 Microsoft Defender 检测为病毒了,即使我选择了「允许在设备上」还是看不到下载文件,不清楚什么原因,于是我就把「实时保护」关了,就能成功下载 TrollInstallerX.ipa 了。
microsoft-defender-turn-off-real-time-protection

安装 TrollInstallerX 到 iOS 设备上的详细步骤:

  1. 启动 Sideloadly,然后将 iOS 设备连接到电脑,iDevice 中就会显示你的设备。并且需要在 iOS 设备弹出的「信任这台电脑」窗口中选择「信任」,如果不信任侧载安装 TrollInstallerX 会失败

    ipad-trust-this-computer-popup sideloadly-main-interface-with-idevice

  2. 点击「IPA 图标」,选择刚刚下载的 TrollInstallerX.ipa 文件
    sideloadly-main-interface-with-ipa

  3. 填入 Apple ID,Apple ID 和密码只会发送到苹果服务器,如果不放心可以使用小号
    sideloadly-main-interface-with-apple-id

  4. 点击 “Start” 按钮
    sideloadly-main-interface-with-start-button

  5. 在弹出来 Apple ID Authentication 窗口中输入 Apple ID 的密码,然后点击 “OK” 按钮
    sideloadly-apple-id-authentication-interface

  6. 最后显示 “Done.” 表示侧载安装已经完成
    sideloadly-main-interface-with-done

在 iOS 设备上运行 TrollInstallerX

  1. 打开 iOS 设备你会发现桌面出现了 TrollInstallerX 应用
    ipad-main-screen-trollinstallerx-app-icon

  2. 这时候应用是无法打开的,因为还没有信任开发者,信任开发者的详细步骤:

    1. 打开「设置」应用,依次进入:通用 → VPN 与设备管理 → <你的 Apple ID>,
      进入到如下页面,然后点击「信任“<你的 Apple ID>”」
      ipad-settings-device-management-apple-id

    2. 在弹出的窗口中点击「信任」
      ipad-settings-device-management-apple-id-trust-popup

  3. 如果是 iOS 16.0 到 16.6.1 的设备还需要启用「开发者模式」,详细步骤:

    1. 打开「设置」应用,依次进入:隐私与安全性 → 开发者模式,
      进入到如下页面,然后点击以启用「开发者模式」
      ipad-settings-privacy-security-developer-mode

    2. 在弹出的窗口中点击「重新启动」
      ipad-settings-privacy-security-developer-mode-enable-popup

    3. 等待系统重新启动,启动之后弹出一个窗口让我们确认,点击「打开」
      ipad-main-screen-developer-mode-enable-popup

  4. 回到桌面,打开 TrollInstallerX 应用,然后点击 “Install TrollStore”

    ipad-trollinstallerx-main-with-install-trollstore-button ipad-trollinstallerx-installing

  5. 安装过程中会弹出来 “Persistence helper” 窗口,选择 “Tips” 应用,也可以选择你不使用的应用,因为这个系统应用会被注入为 persistence helper。在一些情况下(详情见此 )TrollStore 及所有用其安装的应用会恢复为「用户」状态并且将不能够启动,解决此问题的唯一方法是使用 persistence helper 将 TrollStore 及所有用其安装的应用重新注册为「系统」
    ipad-trollinstallerx-installing-persistence-helper-popup-with-tips

  6. 安装成功之后,桌面会多出来一个 “TrollStore” 应用

    ipad-trollinstallerx-installing-installed-trollstore ipad-main-screen-trollstore-app-icon

  7. 打开 TrollStore 应用,会自动下载和安装 Idid,至此 TrollStore 就安装成功了

    ipad-trollstore-installing-idid ipad-trollstore-settings-idid-installed

TrollStore IPA 资源

TrollStore-IPAs: 这个 GitHub 仓库收集了大量可用于 TrollStore 的 IPA 源,是个宝藏。

再次提醒使用 TrollStore 来安装应用有风险。

TrollStore 的使用

安装应用 (IPA)

首先来介绍一下安装应用,这是我们安装 TrollStore 最主要的目的,想要让 TrollStore 来安装只需要让其打开 IPA 文件即可,这里介绍两种方式,一种是直接在浏览器中下载 IPA:

  1. 在 Safari 中下载好 IPA 文件之后 → 点击下载的文件 → 点击分享按钮 → 在分享中选择 TrollStore

    ipad-safari-with-download-button ipad-safari-with-downloaded-file-share

  2. 跳转到 TrollStore 之后会弹出来安装窗口,点击 “Install”,不一会就安装好了

    ipad-trollstore-install-delta-popup ipad-trollstore-apps-list-1

另一种是通过隔空投送的方式来安装:

  1. 在其它苹果设备上选择 IPA 文件并隔空投送到有 TrollStore 的 iOS 设备上,在 iOS 设备上会弹出来隔空投送窗口,在窗口中点击「接受」,文件接受完成之后会出现「打开方式」窗口,在这个窗口中选择 “TrollStore”

    ipad-trollstore-airdrop-receiving-popup ipad-trollstore-airdrop-open-method-popup

  2. 然后和上一种安装方式一样,点击 “Install” 就好了

    ipad-trollstore-install-retroarch-popup ipad-trollstore-apps-list-2

卸载应用

接下去第二常用的就是卸载应用了,官方说通过 TrollStore 来安装的应用必须通过 TrollStore 本身来卸载,以下是原文

Apps installed from TrollStore can only be uninstalled from TrollStore itself, tap an app or swipe it to the left in the ‘Apps’ tab to delete it.

不过我尝试了 iOS 设备一般的卸载方法在桌面长按然后点击「移除 App」也可以来删除,在 TrollStore 应用列表中也消失了,虽然这看起来也可以卸载应用,既然官方都这样说了,估计有一些额外的文件只能通过 TrollStore 来删除。

用 TrollStore 来卸载应用的方法是:在 TrollStore 应用列表通过长按应用,然后点击 “Uninstall App” 来卸载;也可以在应用列表「左滑」应用然后点击「删除」来卸载,如下图所示两种方式:

ipad-trollstore-apps-list-with-long-press-app-popup ipad-trollstore-apps-list-with-swipe-left-app

JIT 相关

一些游戏模拟器需要 JIT 编译来加快运行速度,甚至有些模拟器需要 JIT 才能正常运行,作者在 TrollStore 2.0.12 更新中添加了 “Open with JIT” 功能,详情见此。这个功能可以让应用在沙盒模式下也能开启 JIT,而不是像之前只能在非沙盒模式下开启 JIT。使用这个功能可以在应用列表长按应用然后点击 “Open with JIT”,如下图所示:
ipad-trollstore-apps-list-with-open-with-jit

之后可能会不定期更新一些 TrollStore 使用方面的内容。