Overview of TrollFools
maininsert_dylib and ChOma. It is written in SwiftUI and is designed to work on iOS versions supported by opa334’s TrollStore (iOS 14.0 - 17.0).repository·main·Indexed 25 days ago
https://github.com/lessica/trollfoolsAn iOS utility for in-place tweak injection leveraging insert_dylib and ChOma, designed for environments using TrollStore (iOS 14.0 - 17.0). It supports removable system applications, decrypted App Store applications, and encrypted App Store applications with a bare dynamic library. The project includes a SwiftUI interface and a command-line tool, trollfoolscli, providing functionality to list, view, inject, and eject plugins from target applications.
insert_dylib and ChOma. It is written in SwiftUI and is designed to work on iOS versions supported by opa334’s TrollStore (iOS 14.0 - 17.0).TrollFools supports the following application types for tweak injection:
reload() method on an App instance to trigger a refresh of its isDetached, isAllowedToAttachOrDetach, isInjected, and hasPersistedAssets properties. This uses an internal PassthroughSubject to notify the instance to re-query the InjectorV3 engine.--user flag restricts the output of the list command to only include applications where the application type is user.CmdEject subcommand to remove injected tweaks.The view command accepts a single positional argument:
bundleIdentifier: The bundle identifier of the application you wish to inspect.The App class contains the following properties:
bid: The bundle identifier (String).name: The display name (String).latinName: A sanitized, Latin-character version of the name without diacritics or spaces.type: The application type (e.g., "User") (String).teamID: The developer team ID (String).url: The file URL of the application bundle (URL).version: The application version (String?).isAdvertisement: Indicates if the app is an advertisement (Bool).isDetached: Whether the metadata is detached in the bundle.isAllowedToAttachOrDetach: Whether the user is allowed to attach/detach metadata (typically for "User" type apps).isInjected: Whether the app bundle is currently injected.hasPersistedAssets: Whether the app has persisted assets.icon: A UIImage retrieved using the bid.isUser: true if type == "User".isSystem: true if not a user app.isFromApple: true if bid starts with com.apple..isFromTroll: true if it is a system app but not from Apple.isRemovable: true if the app URL is located within /var/containers/Bundle/Application/.CmdView subcommand to view details or information related to the current trollfools configuration or state.The eject command accepts the following arguments, options, and flags:
| Type | Name | Description |
|---|---|---|
| Argument | bundleIdentifier | The bundle identifier of the application. |
| Option | --path, -p | The path of the plugin to eject. |
| Flag | --all | Eject all plugins from the application. |
Validation Rules:
--all is used, --path cannot be specified.--all is NOT used, --path MUST be specified.CmdList subcommand to list available operations within the trollfoolscli tool.The following arguments, options, and flags are available for the inject command:
<bundleIdentifier> (Argument): The bundle identifier of the target application.--path, -p (Option): The path of the plugin to inject. This option can be used multiple times to specify multiple plugins.--fast (Flag): Enables the fast injection strategy.--weak (Flag): Uses a weak reference for the injection.CmdInject subcommand to perform in-place tweak injection.