Lessica/TrollFools
In-place tweak injection with insert_dylib and ChOma.
📦 4.3 Build 253 (2026-04-23)
- 修复与 MachOKit 有关的一处断言崩溃。
- ------
📦 4.3 Build 253 (2026-04-23) [EN]
- Fixed an assertion crash related to MachOKit.
- ------
📦 4.3 Build 246 (2026-04-16)
- 修复二次注入时可能误选已注入动态库作为目标 Mach-O 的问题。
📦 修复
- 注入目标选取:修复追加注入时,上次注入的动态库可能被误选为注入目标的问题。
- 新增三层防御:从注入前备份读取原始 Load Commands 以还原真实依赖链;枚举阶段跳过 `.troll-fools.bak` 备份文件;通过备份差分精确识别并排除已注入的动态库。
- ------
📦 4.3 Build 246 (2026-04-16) [EN]
- Fixed an issue where re-injection could incorrectly select a previously-injected dylib as the target Mach-O.
🐛 Fixed
- Target selection: Fixed re-injection potentially picking a previously-injected dylib as the injection target.
- ------
📦 4.3 (2026-04-13)
- 本次版本聚焦于“动态加载框架兼容性”和“页面说明可理解性”,并包含插件管理流程调整与资源清理。
📦 修复
- 注入兼容性:修复部分 Unity/运行时 `dlopen` 场景下无法命中可注入目标的问题。
- 当主程序静态链接交集为空时,改为回退扫描 `Frameworks/` 中可用 Mach-O(含一级目录下 `.dylib`)。
- 插件管理:调整“移除插件”流程,区分已启用与已禁用插件:
- 已启用插件执行卸载;已禁用插件执行标记清理,降低批量处理风险。
📦 新增
- 高级选项:新增“启用兼容模式回退”开关(默认开启),可控制是否在无静态链接命中时启用回退候选。
- 结果页提示:当本次注入通过兼容模式完成时,在“已完成”下方显示额外提示。
📦 优化
- 候选筛选:回退候选新增过滤,排除 `libswift*` 与已忽略注入相关动态库/框架,并统一大小写处理。
- 诊断日志:增强 Mach-O 扫描日志,输出候选数量、文件大小、加密/不可读统计与最终选择结果,便于定位“无可用目标”问题。
- 设置说明:优化高级选项页面结构与说明文案,减少非技术用户理解成本。
- 广告与资源:移除内置广告位 `Letterpress` 及相关本地化词条/图标资源;更新营销图素材。
📦 本地化
- 更新 `en/zh-Hans/it/vi` 词条,补充兼容模式与设置说明相关文案,并清理移除条目对应文案。
- ------
📦 4.3 (2026-04-13) [EN]
- This release focuses on dynamic-framework injection compatibility and clearer user guidance, plus plugin-management flow adjustments and resource cleanup.
🐛 Fixed
- Injection compatibility: Fixed cases (notably Unity/runtime `dlopen` flows) where no injectable target could be selected.
- When the static-link intersection is empty, TrollFools now falls back to scanning eligible Mach-O files under `Frameworks/` (including top-level `.dylib`).
- Plugin management: Updated plugin removal flow to handle enabled vs disabled plugins separately:
- enabled plugins are ejected, while disabled plugins are cleaned via desist/marker path handling.
✨ Added
- Advanced Settings: Added Enable Compatibility Fallback (default ON) to control fallback candidate behavior when no static-link match is found.
- Result-page notice: Added a subtitle under Completed when injection succeeds through compatibility fallback.
📦 Improved
- Candidate filtering: Fallback candidates now exclude `libswift*` and ignored injection-related dylib/framework names, with consistent case-insensitive handling.
- Diagnostics: Expanded Mach-O scan logs with candidate counts, file sizes, encrypted/unreadable stats, and final target selection.
- Settings clarity: Refined Advanced Settings layout and explanatory copy for better non-technical readability.
- Ads/assets: Removed built-in `Letterpress` ad entry and related localization/icon assets; refreshed marketing artwork.
📦 Localization
- Updated `en/zh-Hans/it/vi` strings for compatibility-fallback and settings guidance, and removed strings for deleted entries.
📦 4.3 Build 246 (2026-04-16)
- 修复二次注入时可能误选已注入动态库作为目标 Mach-O 的问题。
📦 修复
- 注入目标选取:修复追加注入时,上次注入的动态库可能被误选为注入目标的问题。
- 新增三层防御:从注入前备份读取原始 Load Commands 以还原真实依赖链;枚举阶段跳过 `.troll-fools.bak` 备份文件;通过备份差分精确识别并排除已注入的动态库。
- ------
📦 4.3 Build 246 (2026-04-16) [EN]
- Fixed an issue where re-injection could incorrectly select a previously-injected dylib as the target Mach-O.
🐛 Fixed
- Target selection: Fixed re-injection potentially picking a previously-injected dylib as the injection target.
- ------
📦 4.3 (2026-04-13)
- 本次版本聚焦于“动态加载框架兼容性”和“页面说明可理解性”,并包含插件管理流程调整与资源清理。
📦 修复
- 注入兼容性:修复部分 Unity/运行时 `dlopen` 场景下无法命中可注入目标的问题。
- 当主程序静态链接交集为空时,改为回退扫描 `Frameworks/` 中可用 Mach-O(含一级目录下 `.dylib`)。
- 插件管理:调整“移除插件”流程,区分已启用与已禁用插件:
- 已启用插件执行卸载;已禁用插件执行标记清理,降低批量处理风险。
📦 新增
- 高级选项:新增“启用兼容模式回退”开关(默认开启),可控制是否在无静态链接命中时启用回退候选。
- 结果页提示:当本次注入通过兼容模式完成时,在“已完成”下方显示额外提示。
📦 优化
- 候选筛选:回退候选新增过滤,排除 `libswift*` 与已忽略注入相关动态库/框架,并统一大小写处理。
- 诊断日志:增强 Mach-O 扫描日志,输出候选数量、文件大小、加密/不可读统计与最终选择结果,便于定位“无可用目标”问题。
- 设置说明:优化高级选项页面结构与说明文案,减少非技术用户理解成本。
- 广告与资源:移除内置广告位 `Letterpress` 及相关本地化词条/图标资源;更新营销图素材。
📦 本地化
- 更新 `en/zh-Hans/it/vi` 词条,补充兼容模式与设置说明相关文案,并清理移除条目对应文案。
- ------
📦 4.3 (2026-04-13) [EN]
- This release focuses on dynamic-framework injection compatibility and clearer user guidance, plus plugin-management flow adjustments and resource cleanup.
🐛 Fixed
- Injection compatibility: Fixed cases (notably Unity/runtime `dlopen` flows) where no injectable target could be selected.
- When the static-link intersection is empty, TrollFools now falls back to scanning eligible Mach-O files under `Frameworks/` (including top-level `.dylib`).
- Plugin management: Updated plugin removal flow to handle enabled vs disabled plugins separately:
- enabled plugins are ejected, while disabled plugins are cleaned via desist/marker path handling.
✨ Added
- Advanced Settings: Added Enable Compatibility Fallback (default ON) to control fallback candidate behavior when no static-link match is found.
- Result-page notice: Added a subtitle under Completed when injection succeeds through compatibility fallback.
📦 Improved
- Candidate filtering: Fallback candidates now exclude `libswift*` and ignored injection-related dylib/framework names, with consistent case-insensitive handling.
- Diagnostics: Expanded Mach-O scan logs with candidate counts, file sizes, encrypted/unreadable stats, and final target selection.
- Settings clarity: Refined Advanced Settings layout and explanatory copy for better non-technical readability.
- Ads/assets: Removed built-in `Letterpress` ad entry and related localization/icon assets; refreshed marketing artwork.
📦 Localization
- Updated `en/zh-Hans/it/vi` strings for compatibility-fallback and settings guidance, and removed strings for deleted entries.
📦 4.2 (2025-09-12)
- 本次版本为一次“兼容性与结构优化”小步更新,核心聚焦:旧系统适配(iOS 14 列表兼容)、徽标逻辑精细化、通用结构/代码整理与本地化补充。
📦 修复
- 修复 iOS 14 上 `.deb` 无法导入的问题。
- 修复路径中包含中文时无法通过 Filza 打开的问题。
- 兼容性:修复在 iOS 14 上包含“动态数量 Section”的列表(List)组件渲染/刷新异常问题,确保分段增减时 UI 与交互稳定。
📦 优化 / 重构
- 徽标:优化禁用插件 App 的徽标判断与展示逻辑,减少重复计算并提升视觉一致性。
- 通用结构:对应用列表、插件管理、注入/卸载流程、设置视图等多个模块进行内部重构(不改变外部行为)以提升可维护性。
📦 本地化
- 补充/更新越南语(vi)词条,保持与最新交互及文案一致。
📦 工程
- 代码清理与结构对齐(未引入破坏性改动),为后续特性迭代准备。
- ------
📦 4.2 (2025-09-12) [EN]
- This is a focused compatibility & structural refinement update: iOS 14 dynamic list stability, refined badge logic, internal refactors, and a localization supplement.
🐛 Fixed
- Fixed a bug that prevented `.deb` packages from importing.
- Compatibility: Resolve rendering/refresh issues on iOS 14 when a List contains a dynamic number of Sections, ensuring stable UI and interaction when sections are added or removed.
♻️ Optimization / Refactor
- Badging: Refine logic for marking apps with disabled plugins to reduce redundant evaluation and keep visuals consistent.
- Internal structure: Non‑behavioral refactors across app list, plugin management, inject/eject flows, settings view, and related persistence modules to improve maintainability.
📦 Localization
- Update / supplement Vietnamese (vi) strings to align with current UI and interactions.
📦 Engineering
- Code cleanup and structural alignment (no breaking changes) preparing groundwork for upcoming features.
📦 4.1 (2025-09-11)
- 本次版本聚焦“可见性与交互优化、稳定性提升与本地化完善”。以下为按模块归纳的实际变更:
📦 新增
- 可见性:
- 选项视图(Options)显示已安装插件数量,信息更直观。
- 应用列表为存在“已禁用插件”的 App 增加徽标标记(Badge),便于快速识别。
📦 变更
- 交互与安全性:
- 全部推出(Eject All)新增“二次确认”流程,降低误操作风险。
📦 修复
- 稳定性与性能:
- 调整子进程执行优先级/调度策略(spawn priority),改善响应性并降低卡顿概率。
📦 本地化
- 更新本地化词条,覆盖“插件计数展示、禁用徽标、全部推出确认”等新增与交互变更。
📦 文档与合规
- 更新 `LICENSE` 文本。
📦 工程
- 本地化配置维护(`.bartycrouch.toml`),与字符串更新保持一致。
- ------
📦 4.1 (2025-09-11) [EN]
- This release focuses on visibility and interaction polish, stability improvements, and localization updates. The changes are summarized by module below:
✨ Added
- Visibility:
- Show the number of installed plugins in the Options view for clearer status at a glance.
- Badge apps that have disabled plugins in the app list to make them easy to identify.
📋 Changed
- Interaction & Safety:
- Add a confirmation step to “Eject All” to reduce accidental bulk actions.
🐛 Fixed
- Stability & Performance:
- Adjust child-process execution priority/scheduling (spawn priority) to improve responsiveness and reduce stutter.
📦 Localization
- Update strings covering plugin count, disabled-plugin badge, and the confirmation for “Eject All”.
📝 Docs & Compliance
- Update the `LICENSE` text.
📦 Engineering
- Maintain localization configuration (`.bartycrouch.toml`) in sync with string updates.
📦 4.0 (2025-09-10)
- 本月重点围绕“插件管理、版本更新检查、无障碍与界面完善、稳定性与性能提升”等方向展开。以下为按模块归纳的实际变更:
📦 新增
- 插件管理能力增强:
- 支持单个插件启用/停用切换(Eject/Inject 流程与 UI 交互完善)。
- 新增“全部停用(Desist All)/全部重新启用(Re-enable All)”批量操作。
- 启用状态持久化,应用启动时自动加载上次的插件状态。
- 版本更新检查:
- 增加应用内检查更新的逻辑与提示,配套多语言文案与配置项。
- 广告资源更新:
- 新增/替换广告位及相关资源,完善展示逻辑。
📦 变更
- 术语与界面:将“Eject”更名为“Manage/管理”,与当前交互与语义一致。
- 无障碍(Accessibility):重构若干视图与单元格的可达性标签与提示,提升读屏体验。
- 文案与合规:更新应用免责声明内容。
📦 修复
- 布局:修复横屏下若干视图(应用列表、选项视图、插件单元格)的排版问题。
- 交互组件:修复索引滚动(Indexable Scroller)在列表中的定位与交互问题。
- 性能与时序:
- 避免对 Filza 的重复查询,减少不必要的 I/O 和等待。
- 调整子进程 spawn 的等待逻辑,避免潜在卡顿或时序竞态。
- 本地化:统一中文名称/表述,清理与更新多语言词条。
📦 Command Line Interface (CLI)
- 注入/卸载与管理能力扩展:
- 新增与“全部停用/重新启用”一致的批量管理能力。
- 与应用内逻辑保持一致,便于脚本化/批处理使用。
📦 本地化
- 更新并补充 en、it、vi、zh-Hans 等多语言字符串,覆盖“更新检查、提示信息、管理操作”等新增功能。
📦 构建与工程
- 版本与构建:版本提升至 4.0(Build 212),更新调试构建号与相关脚本。
- 工程配置:更新 Xcode 方案与依赖(含 Package.resolved、xcscheme 等),接入更新检查相关模块;维护 devkit 与 control 配置。
📦 注意事项 / 可能的兼容性变更
- “Eject” 重命名为 “Manage/管理”:界面与文案发生变化,命令行与文档请以“管理/Manage”语义为准。
- ------
📦 4.0 (2025-09-10) [EN]
- This month focused on plugin management, update checking, accessibility and UI polish, plus stability and performance improvements. Below is a feature-oriented summary grouped by module:
✨ Added
- Plugin management enhancements:
- Toggle enable/disable for individual plugins (polished Eject/Inject flows and UI interactions).
- New bulk actions: Desist All / Re-enable All.
- Persist plugin enablement state and auto-load on app launch.
- Update checking:
- In-app update check logic and prompts, with localization strings and configuration.
- Ad assets:
- New/replaced placements and assets with improved display logic.
📋 Changed
- Terminology & UI: Rename “Eject” to “Manage” to better match current interactions and semantics.
- Accessibility: Refactor accessibility labels and hints across multiple views/cells to improve screen reader experience.
- Copy & compliance: Update the in-app disclaimer content.
🐛 Fixed
- Layout: Fix landscape issues in App List, Options View, and Plugin Cell.
- Interactive component: Fix Indexable Scroller positioning and interactions in lists.
- Performance & timing:
- Avoid repeated Filza queries to reduce unnecessary I/O and waiting.
- Adjust child-process spawn waiting to prevent potential stalls or race conditions.
- Localization: Unify Chinese naming/phrasing and refresh language entries.
📦 CLI
- Extend inject/uninstall/manage capabilities:
- Bulk management aligned with “Desist All / Re-enable All”.
- Behavior consistent with in-app logic for scripting/batch usage.
📦 Localization
- Update and supplement en, it, vi, zh-Hans strings, covering update checking, prompts, and management operations.
📦 Build & Engineering
- Version & build: Bump to 4.0 (Build 212); update debug build number and related scripts.
- Project configuration: Update Xcode schemes and dependencies (including Package.resolved, xcscheme); integrate update-check modules; maintain devkit and control configuration.
📋 Notes / Potential Compatibility Changes
- “Eject” renamed to “Manage”: UI and copy have changed; CLI and documentation should adopt “Manage” semantics.
📋 Changes
- 修复 iOS 14 上崩溃的问题
📋 Changes
- 导入 `.deb` 文件中包含的 `.bundle` 捆绑包。
- 支持接收来自分享表单的 `.zip` 文件。
- Inject `.bundle` additionally if `.deb` file contains both `.dylib` and `.bundle`.
- Import `.zip` files.
📋 Changes
- 修复 iPad 分栏布局
- Fixed iPad column layout.
📋 Changes
- 修复 `v3.5-36` 注入闪退的问题
- 修复 ZIP 归档中位于子目录的 dylib 文件无法正确导入的问题
- 新增 “所有应用” 分类
- 新增免责声明
- 新增中文名称 “巨魔注入器”
- Fixed an issue where dylib files located in subdirectories in ZIP archives could not be imported correctly.
- Added “All Applications” category.
- Added disclaimer.
📦 新功能
- 支持导入 Debian 软件包(`.deb`)。
- ------
✨ New Features
- Support importing Debian packages (`.deb`).
📦 问题修复
- 修复导出插件时可能存在的闪退问题。
- 修复批量导出的 ZIP 无法被 TrollFools 导入的问题(跳过顶层目录)。
- 修复部分 App 名称中含有隐藏字符影响排序的问题。
- 搜索框现已支持键入拼音。
- ------
🐛 Bug Fixes
- Fix a crash when exporting plug-ins.
- Fix a bug that exported ZIP archives were not importable.,
📦 新功能
- 应用列表现已支持首字母索引。
- 支持按不同类别查看应用列表。
- 将插件导出,或批量导出到 ZIP 文件。
- ------
✨ New Features
- Alphabetical index at the leading edge of the app list.
- Search scopes to the search bar.
- Export injected plug-ins to a ZIP file.
📋 Changes
- Added Italian localization.
- Another `ldid` implementation.
📋 Changes
- Search & Pull-to-Refresh support for iOS 14.
- Updated Vietnamese localization.
📋 Changes
- Fixed a bug that caused ejecting to fail when the previous inject was not successful.
🐛 Bug Fixes
- `Frameworks` directory not created in some cases.
✨ New Features
- View logs in the app.
- Option to change the injection strategy.
🐛 Bug Fixes
- Ignore broken weak links.
✨ New Features
- Re-write the injector entirely to be more modular and easier to maintain.
- Speed up the injector by:
- Choose a smaller framework to inject into.
- Skip Mach-Os with cryptid > 0
- Update [ChOma](https://github.com/opa334/ChOma/tree/61acfba55695c8f3c6607dd0be933aa104eb9531) to its latest commit.
- > To export things from Debian archives without extracting, use https://apps.apple.com/app/id562790811
🐛 Bug Fixes
- Added some explanation about the “No eligible framework found” error.
- Patch MachOKit to avoid potential crashes when parsing certain Mach-O files.
✨ New Features
- Receive `.dylib` files from share sheets and inject them into specified applications.
🐛 Bug Fixes
- Avoid in-box document renaming.
- Removed ads and prevented the app from crashing.
🐛 Bug Fixes
- Now application without a short version string will be displayed in the list (#72).
- The auto-correction for the app search has been disabled (#78).
📦 Languages
- Added Vietnamese (#71, #74).
📦 主要更新
- 没有短版本号的应用程序现已能够在列表中显示。
- 合入越南语支持。
- ------
🐛 Bug Fixes
- Now application without a short version string will be displayed in the list.
📦 Languages
- Added Vietnamese.
📦 主要更新
- 不再需要 “开发者模式” 以访问 iCloud 云盘中的文件。
- 修复上一版本中因大小写判断错误导致部分插件注入闪退的问题。
- ------
🐛 Bug Fixes
- “Developer Mode” is no longer required.
- Now you can access “iCloud Drive” from TrollFools.
📦 主要更新
- 不再需要 “开发者模式” 以访问 iCloud 云盘中的文件。
- ------
🐛 Bug Fixes
- “Developer Mode” is no longer required.
- Now you can access “iCloud Drive” from TrollFools.
📦 主要更新
- 为各 App 新增高级选项
- 创建弱引用,默认打开
- 优先处理主要可执行文件,默认关闭
- 如果你不知道上述选项的含义,请不要修改。
- ------
📋 Major Changes
- Add advanced options:
- Use Weak Reference `LC_LOAD_WEAK_DYLIB`
- Prefer Main Executable
📦 主要更新
- 长按 App 新增版本锁定/解锁功能
- App 版本更新后会移除注入,所以增加这一小功能
- 需要在 TrollStore 中重建图标缓存使修改生效
- ------
📋 Major Changes
- Long press app to lock or unlock its version.
- You need to rebuild the icon cache in TrollStore to apply changes.
📦 主要更新
- 注册 App 安装、卸载事件通知并自动刷新列表
- 新增 App 长按动作菜单:「启动」和「在 Filza 中显示」
- 新增插件长按动作菜单:「在 Filza 中显示」
- ⚠️「在 Filza 中显示」需要安装有支持 URL Scheme 的 Filza
- ------
📋 Major Changes
- Observe app installation events and reload app list if necessary.
- Add context menu for apps and plug-ins.
📦 Screenshots
- 
📦 主要更新
- 完善动画细节
- 修复「计算器」、「邮件」等 App 的修补支持
- 为目标二进制添加修补 `LC_RPATH`
📦 小插件
- `FLEX.zip` 是一个调试用的工具条,注入后摇一摇呼出
- `TouchVis.dylib` 和 `TouchVis.CaptureOnly.dylib` 是一个调试用的触摸指示器,前者一直显示,后者录屏时才显示
- ------
📋 Major Changes
- Better animation
- Support for _Calculator_ and _MobileMail_
📦 Plug-Ins
- `TouchVis.dylib` and `TouchVis.CaptureOnly.dylib` are touch visualizers.
📦 Screenshots
- 
📦 主要更新
- 支持巨魔商店应用注入
- 支持 可移除的 系统应用注入
📦 补充说明
- 支持从 Mach-O 中读取 Team ID 实现巨魔商店应用二次注入
- 增加 arm64e 后,支持 可移除的 系统应用注入
- ------
📋 Major Changes
- Support for TrollStore applications.
- Support for removable system applications.
