字节笔记本

2026年2月22日

TrollStore:iOS 永久签名工具

TrollStore 是一个利用 iOS 系统 CoreTrust 漏洞的永久签名工具,允许用户在无需越狱的情况下安装任意 IPA 文件。该项目由 opa334 开发维护,在 GitHub 上已获得超过 2 万 stars,是 iOS 逆向工程领域最具影响力的开源项目之一。

项目简介

TrollStore 的核心原理是利用 AMFI(Apple Mobile File Integrity)/ CoreTrust 的一个漏洞:当二进制文件包含多个签名者时,iOS 无法正确验证代码签名。通过这个漏洞,TrollStore 可以永久安装带有任意权限的 IPA 文件,包括需要 root 权限的辅助工具。

支持版本:iOS 14.0 beta 2 - 16.6.1、16.7 RC (20H18)、17.0

不支持版本:16.7.x(除 16.7 RC 外)和 17.0.1+(除非发现新的 CoreTrust 漏洞)

核心特性

  • 永久签名:安装的应用无需每 7 天重新签名,永久有效
  • 任意权限:支持安装带有任意 entitlements 的 IPA 文件
  • Root 权限:可以运行 root 权限的辅助程序
  • URL Scheme 支持:通过 apple-magnifier:// 协议直接安装 IPA 或启用 JIT
  • Persistence Helper:系统应用持久化助手,解决图标缓存刷新后应用无法启动的问题

技术栈

技术占比用途
Objective-C50.5%主要开发语言
C47.5%底层系统调用
Makefile1.6%构建系统
Shell0.4%脚本工具

安装指南

安装 TrollStore

详细安装步骤请参考 ios.cfw.guide 官方指南。安装方法因 iOS 版本和设备型号而异。

更新 TrollStore

当有新版本可用时,TrollStore 设置页面顶部会显示更新按钮。点击后自动下载、安装并重新启动 SpringBoard。

备用方法:下载 Releases 页面的 TrollStore.tar 文件,在 TrollStore 中打开即可安装更新。

卸载应用

通过 TrollStore 安装的应用只能通过 TrollStore 卸载。在 "Apps" 标签页中点击应用或向左滑动即可删除。

核心功能详解

1. 解除沙盒限制

通过以下 entitlement 可以解除应用沙盒限制:

xml
<!-- 推荐:保留沙盒容器但解除限制 -->
<key>com.apple.private.security.no-sandbox</key>
<true/>

<!-- 或完全禁用容器 -->
<key>com.apple.private.security.no-container</key>
<true/>

配合 platform-application entitlement 使用:

xml
<key>platform-application</key>
<true/>

2. Root 权限执行

使用 com.apple.private.persona-mgmt entitlement 可以 spawn 以 root 权限运行的二进制文件:

xml
<key>com.apple.private.persona-mgmt</key>
<true/>

参考代码:TSUtil.m spawnRoot 函数

3. URL Scheme 安装

TrollStore 1.3+ 版本劫持了系统的 apple-magnifier URL Scheme:

text
# 从浏览器直接安装 IPA
apple-magnifier://install?url=<IPA文件URL>

# 启用 JIT(2.0.12+)
apple-magnifier://enable-jit?bundle-id=<Bundle_ID>

4. 受限权限(iOS 15 A12+)

以下权限在 iOS 15 A12+ 设备上无法使用(需要 PPL bypass):

  • com.apple.private.cs.debugger
  • dynamic-codesigning
  • com.apple.private.skip-library-validation

编译构建

前置要求

  • theos 开发环境
  • Homebrew
  • libarchive (brew install libarchive)

构建步骤

bash
# 克隆仓库
git clone https://github.com/opa334/TrollStore.git
cd TrollStore

# 编译
make

技术限制

以下功能无法通过 TrollStore 实现:

  • 获取完整的 platformization (TF_PLATFORM / CS_PLATFORMIZED)
  • 启动守护进程(需要 CS_PLATFORMIZED
  • 向系统进程注入 tweak(需要 TF_PLATFORM、用户态 PAC bypass 和 PMAP trust level bypass)

相关项目

项目说明
ChOmaTrollStore 使用的代码签名库
TrollHelperiOS 14 安装辅助工具
RootHelperRoot 权限辅助程序

致谢

  • @alfiecg_dev:发现 CoreTrust 漏洞并通过 patchdiffing 自动化绕过
  • Google Threat Analysis Group:发现 CoreTrust 漏洞并报告给 Apple
  • @LinusHenze:发现 iOS 14-15.6.1 的 installd bypass 和 TrollStore 1.0 使用的原始 CoreTrust 漏洞

项目链接

分享: