玩 TrollStore 的人迟早会遇到同一个问题:装了一堆应用,想让某个 App 多一点功能,但又不想为它单独越狱。以前的答案通常是找改好的 IPA 重新安装,麻烦且容易丢数据。TrollFools 就是为解决这件事做的——它能在原地把 dylib 注入进已经装好的应用,不需要重装,也不改变应用本身的权限设置。
作者是 Lessica(开发代号 82Flex),项目用 SwiftUI 写的,界面相当干净。它的定位很明确:让你在巨魔环境下也能像越狱一样挂插件。下面从下载一路讲到卸载和排障。
先确认你的设备能不能用
TrollFools 的运行前提是设备已经装好 TrollStore。按作者在项目说明里的写法,它面向 TrollStore 支持的全部系统版本,也就是 iOS 14.0 到 17.0。这里的版本边界是由 TrollStore 本身决定的——TrollStore 依赖 CoreTrust 相关的签名校验问题,能装 TrollStore 的系统版本,才谈得上装 TrollFools。
所以第一步先自查两件事:
- 设备上有没有 TrollStore 图标,能不能正常打开。
- 系统版本是否落在 iOS 14.0 到 17.0 这个区间内。
如果第二条不满足,后面的步骤都不用看了,换用别的方式处理。这不是 TrollFools 的限制,是整个巨魔生态的边界。
把 TrollFools 装进巨魔环境
TrollFools 是开源项目,唯一的正规下载入口在它的代码仓库:
- 项目主页:github.com/Lessica/TrollFools
- 发布包(Releases):github.com/Lessica/TrollFools/releases
在 Releases 页里找最新版本的安装包,注意要在手机上打开这个页面,因为接下来的安装动作要靠 TrollStore 接管。安装流程跟装其他巨魔应用一样:
- 在 iPhone 上用浏览器打开 Releases 页面,点开最新版本的安装包链接。
- 系统会提示”在 TrollStore 中打开”,确认。
- TrollStore 里会显示下载进度,等它把包下载完。
- 下载结束后点”Install”,桌面上就会出现 TrollFools 图标。
如果你习惯把安装包先下到电脑上,也可以用隔空投送或者文件 App 把包传进手机,再在 TrollStore 里选择本地文件安装,效果一样。
第一次打开:界面里都有什么
打开 TrollFools,主界面是一份已安装应用的列表。这份列表会同时收录系统自带应用和你自己装的应用,右边会显示当前已经注入了几个插件(作者在后续版本里专门加了这个计数显示,方便一眼看出哪些应用动过)。
顶部一般有三个区域:应用列表、已注入插件的查看入口,以及设置与日志。第一次用建议先进设置看一眼,把日志级别调清楚一点,出问题时排查会容易很多。
需要注意的一点是:列表里有一部分应用是点不进去的。这不是 bug,是注入目标的限制,后面会专门讲。
核心操作:注入一个 dylib
整个工具最常用的就是这一步。流程如下:
- 在 TrollFools 主界面的应用列表里,点选你要挂插件的那个应用。
- 进入注入界面后,点添加按钮,从文件系统里挑选要注入的文件。
- TrollFools 支持一次多选,也就是说同一个应用可以一口气挂上多个 dylib。
- 确认之后点注入按钮,工具会自动完成链接和签名处理。
- 等进度走完,回到应用列表,那个应用右侧的插件计数会加一。
注入完成后直接打开目标应用,插件就会随应用启动一起加载。如果插件本身需要配置,它一般会以设置面板或者独立入口的形式出现在应用里。
这里说个原理,理解了能少踩很多坑。TrollFools 的做法叫”原位注入”——它用 insert_dylib 之类的工具往应用的 Mach-O 可执行文件里写一条加载指令,让系统在启动应用时顺带把那个动态库也加载进去,然后用 ChOma 重新处理签名。整个过程改的是应用本体的文件,不是在系统层面挂钩子,所以它只影响被注入的那个应用,其他应用完全不受影响。
哪些应用能注入,哪些不能
作者在项目说明里列了三类可用目标:
- 可卸载的系统应用——系统自带但允许删除的那些,比如部分预装 App。
- 已解密的 App Store 应用——也就是通过 TrollStore 安装的应用,它们的二进制文件处于解密状态,可以被改写。
- 带裸动态库的加密 App Store 应用——这类比较特殊,应用的加密部分之外还带了一个未被加密的动态库,TrollFools 可以针对这个部分下手。
反过来说,从 App Store 正常下载安装、且完全加密的应用,是不在可注入范围内的。原因很简单:注入需要改写应用的可执行文件,而加密的应用主体无法被这样处理。
顺带回答一个常见疑问:注入会不会让应用获得额外权限?不会。TrollFools 明确保留了应用原本的权限配置,注入进来的插件只能使用目标应用自己已有的权限范围。这既是设计选择,也是安全边界。
卸载和更新后的处理
卸载注入的插件同样简单。在应用列表里对目标应用向右滑动,就能删除已注入的插件,同样支持多选批量处理。删完之后建议进一次应用确认功能恢复正常,少数插件会留下配置缓存,需要手动清一下。
有一件事必须提前知道:当被注入的应用更新之后,之前注入的插件会被自动禁用。这是设计使然,不是故障——更新会替换掉应用的可执行文件,原来的加载指令自然就没了,工具选择禁用而不是硬撑,避免插件和新版本产生兼容问题。解决办法就是重新走一遍注入流程,目标文件选原来的 dylib 即可。
命令行工具:适合批量操作
除了图形界面,TrollFools 还带了一套命令行工具,在项目的 CLI 目录里,一共四个:
CmdList——列出设备上的应用,方便脚本按名字定位目标。CmdView——查看指定应用的详细信息,包括已有的注入记录。CmdInject——命令行版的注入工具。CmdEject——命令行版的插件移除工具。
这套工具的价值在于自动化。比如你有十几个应用都要挂同一个插件,图形界面里得一个个点,命令行写个循环就能一次跑完;又比如你想定期检查插件状态,也可以做成脚本。对普通用户来说用不用都行,但对喜欢折腾的人是省事不少。
出问题了怎么查
注入失败时先别急着重试,按顺序排查通常能定位到原因。
- 先看日志。TrollFools 内置了日志查看功能,会记录每一步操作和对应的错误信息。项目里定义了一套专门的错误类型,不同的错误码对应不同环节的问题——是文件读取失败、签名处理失败,还是目标应用不符合注入条件,日志里能看出来。
- 确认目标应用是不是最新版本。某些应用在大版本更新后会改变内部结构,旧版本的插件可能不再适用。
- 检查插件文件的完整性。从来源不明的渠道拿到的 dylib 可能本身就是坏的,或者缺少必要的架构支持。优先用经过验证的插件来源。
- 换个注入策略试试。同一个应用换个顺序、或者先卸载已有的注入再重新来一遍,有时能绕开偶发问题。
- 确认插件和应用的版本兼容。这一点最容易被忽略——插件本身对目标应用的版本往往有要求,跨大版本使用很容易出问题。
另外提醒一句:一次给同一个应用挂太多插件不是好主意。插件之间可能互相干扰,应用启动变慢、甚至崩溃的风险都会上升。建议挂之前先备份重要应用的数据,改坏了还能还原。
几个实用建议
第一,按需注入,不要贪多。只挂你真正在用的插件,应用列表里干干净净反而更容易维护。
第二,给常用的注入组合做记录。应用一更新插件就失效,下次重建时如果记不清原来挂了什么,会很麻烦。可以用备忘录记下”应用名 + 插件名 + 版本”三列清单。
第三,系统更新前先确认兼容性。TrollStore 本身对系统版本敏感,升级系统有可能直接让整个巨魔环境失效,注入出来的插件自然也一起没了。
第四,只从可信来源获取插件文件。插件本质上是能进入应用进程的代码,来源不明的 dylib 存在读取应用内数据的可能,这一点必须谨慎。
把这些理清之后,TrollFools 的实际使用门槛并不高——装好、选应用、选文件、点注入,四步就完事。它真正解决的问题是让你在不动系统、不重装应用的前提下做局部定制,这也是巨魔生态这几年最实用的方向之一。
动手前最常被问到的几件事
- “终于不用为了一个插件去重装整个 App 了,以前重装完数据全没了真的想哭。”
- “应用一更新插件就失效这个确实烦,但比插件直接把应用搞崩强。”
- “命令行那套不错,我有十几个机型要挂同一个插件,脚本一次跑完。”
- “注入不改变权限这点很好,不然挂个插件等于把整个应用的安全边界打开了。”
- “提醒看到最后那条:来源不明的 dylib 别乱挂,这是我踩过的真坑。”
以上评论仅代表网友个人观点,不代表官方立场。



