0x0 背景

近几年iOS的安全一直在加固,导致越狱越来越难出现。不过我本身越狱的原因最重要的一部分就是安装第三方App。虽然AltStoreSideloadly的出现让证书续签能够自动化,但不常用的机子还是免不了隔三差五需要重新安装的情况出现。

不过苹果倒也在在一些小的方面多次搞砸过。比如多个漏洞导致的MacDirtyCow利用及后续的KFD利用,它们能实现内核内存读写,催生了一些修改系统字体、进入监管模式等一些工具的出现。前者支持到iOS 16.1.2后者支持到iOS 16.6b1

CoreTrust漏洞导致TrollStore的出现,它是个能永久签名应用的工具,且安装好后不需要借助PC,支持到iOS 15.6。并且由于其安装的App为系统应用,还具有更高的权限,如开启JIT、调用通知接口等。后来苹果第二次搞砸CoreTrust漏洞为TrollStore添加了到iOS 17.0的支持。

刚好我的设备为了利用MacDirtyCow以及后续可能出现的越狱,Delayed OTAiOS 16.1.2后就一直没升级过,这次就准备安装TrollStore 2

其实还可以保留TrollStore并更新到iOS 17.0

需要注意Delayed OTA到iOS 17.0截止至2023年12月20日。

0x1 步骤

其实国外大佬们已经写好了详细的安装步骤。针对不同机型的不同系统版本,安装方式也不尽相同,且伴随工具的更新也会有不同程度的优化,建议自行参考国外的最新安装教程安装。而如果想要升级到iOS 17,还需要结合做些额外的操作来保留TrollStore

简要步骤(详细步骤建议查看原版教程):

iOS 16.1.2所有机型可以使用TrollInstallerMDC工具来安装。

  1. 确保iOS自带的系统应用提示还在,如果删除了那就去下载回来。之后会将提示应用替换为工具软件。
  2. 手机开启开发者模式。
  3. 使用Sideloadly签名并安装TrollInstallerMDC
  4. 信任安装好的TrollInstallerMDC
  5. 打开TrollInstallerMDC并授权。
  6. 等待其出现Successfully replaced Tips binary的日志出现,这说明提示应用已经被替换了。
  7. 打开提示
  8. 点击Install TrollStore并等待完成。
  9. 卸载重装提示应用。
  10. 桌面上找到TrollStore并打开。
  11. 点击Settings并选择Install Persistence Helper
  12. 寻找你想替换为工具的系统应用,可任意选择,这里还是选择Tips
  13. 打开提示应用发现是TrollStore Helper,证明安装成功了。

至此iOS 16.1.2上的TrollStore 2就安装完成了。如果想要更新到iOS 17.0,那么继续做以下步骤。

避免TrollStore被删除
  1. 下载Filza文件管理器并通过TrollStore安卓,后面用于获取并赋权工具应用为了保险更新后能够找回。
  2. 打开Filza,选择底栏的星形按钮,选择App管理器
  3. 找到提示应用,点击其右侧的信息图标按钮。
  4. 点击主程序,找到Tips.app,再次点击信息按钮。
  5. 将路径复制出来,类似/var/containers/Bundle/Application/6797F3A7-0BE1-4C6B-A2E8-42BDE9F975BD
  6. 拼接命令为chflags -R schg,schange,simmutable /var/containers/Bundle/Application/6797F3A7-0BE1-4C6B-A2E8-42BDE9F975BD
  7. 再次点击下方的星形按钮,选择[Root]
  8. 找到/usr/bin/vm_stat并点击运行。
  9. 粘贴进命令并执行。
  10. 再次回到第4步中Tips.app的位置,尝试左滑删除,如果提示没有权限导致删除失败,那就成功了。如果被删掉了就重新下载回提示应用并重复上面的操作。
Delayed OTA更新至 iOS 17.0
  1. Windows电脑使用Updating (Blobless) (Advanced)中提到的Cowabunga Lite实现(其实16.1.2可以直接在手机上用Cowabunga进入监管模式)。
  2. 关闭设备中的查找功能。
  3. 下载并打开Avangelista/CowabungaLiteWindows (github.com)
  4. 连接设备到电脑。
  5. 找到Setup Options点击Enable Supervision并打勾。
  6. 点击ApplyApply Changes,手机会重启进入监管模式。
  7. 设备中在Safari浏览器打开Delayed OTAs - ramblings (dhinakg.github.io)并下载iOS 17 (21A329)的描述文件。
  8. 设置中安装下载的描述文件。
  9. 点开设置->通用->软件更新->升级到iOS17。确保显示的版本是iOS 17
  10. 上滑,清掉所有应用。
  11. 打开TrollStore提示(其实打开显示替换后的TrollStore Helper)
  12. 进到设置开始更新系统,确保TrollStore提示在后台运行。
  13. 更新完成后从后台切出提示(TrollStore Helper),点击Refresh App Registrations
  14. 参考上面步骤,换条命令执行chflags -R noschg,noschange,nosimmutable /var/containers/Bundle/Application/6797F3A7-0BE1-4C6B-A2E8-42BDE9F975BD,还原文件夹权限。
  15. 卸载提示,并重新下载安装。
  16. 打开TrollStore,点击Settings并选择Install Persistence Helper进行重装。

0x2 结尾

至此安装及升级就完成了,但我更新到iOS 17.0的中途还是后悔放弃了。新版本iOS并没有什么重大更新,而且更新后会同时失去MacDirtyCowKFD,可玩性大大降低。目前也没听说有什么漏洞可供利用。

最后修改:2023 年 12 月 03 日
如果觉得我的文章对你有用,请随意赞赏