GithubHelp home page GithubHelp logo

opa334 / trollstore Goto Github PK

View Code? Open in Web Editor NEW
16.5K 303.0 998.0 10.29 MB

Jailed iOS app that can install IPAs permanently with arbitary entitlements and root helpers because it trolls Apple

License: Other

Objective-C 49.74% Makefile 1.33% C 48.57% Shell 0.36%

trollstore's Introduction

TrollStore

TrollStore is a permasigned jailed app that can permanently install any IPA you open in it.

It works because of an AMFI/CoreTrust bug where iOS does not correctly verify code signatures of binaries in which there are multiple signers.

Supported versions: 14.0 beta 2 - 16.6.1, 16.7 RC (20H18), 17.0

Installing TrollStore

For installing TrollStore, refer to the guides at ios.cfw.guide

16.7.x (excluding 16.7 RC) and 17.0.1+ will NEVER be supported (unless a third CoreTrust bug is discovered, which is unlikely).

Updating TrollStore

When a new TrollStore update is available, a button to install it will appear at the top in the TrollStore settings. After tapping the button, TrollStore will automatically download the update, install it, and respring.

Alternatively (if anything goes wrong), you can download the TrollStore.tar file under Releases and open it in TrollStore, TrollStore will install the update and respring.

Uninstalling an app

Apps installed from TrollStore can only be uninstalled from TrollStore itself, tap an app or swipe it to the left in the 'Apps' tab to delete it.

Persistence Helper

The CoreTrust bug used in TrollStore is only enough to install "System" apps, this is because FrontBoard has an additional security check (it calls libmis) every time before a user app is launched. Unfortunately it is not possible to install new "System" apps that stay through an icon cache reload. Therefore, when iOS reloads the icon cache, all TrollStore installed apps including TrollStore itself will revert back to "User" state and will no longer launch.

The only way to work around this is to install a persistence helper into a system app, this helper can then be used to reregister TrollStore and its installed apps as "System" so that they become launchable again, an option for this is available in TrollStore settings.

On jailbroken iOS 14 when TrollHelper is used for installation, it is located in /Applications and will persist as a "System" app through icon cache reloads, therefore TrollHelper is used as the persistence helper on iOS 14.

URL Scheme

As of version 1.3, TrollStore replaces the system URL scheme "apple-magnifier" (this is done so "jailbreak" detections can't detect TrollStore like they could if TrollStore had a unique URL scheme). This URL scheme can be used to install applications right from the browser, or to enable JIT from the app itself (only 2.0.12 and above), the format goes as follows:

  • apple-magnifier://install?url=<URL_to_IPA>
  • apple-magnifier://enable-jit?bundle-id=<Bundle_ID>

On devices that don't have TrollStore (1.3+) installed, this will just open the magnifier app.

Features

The binaries inside an IPA can have arbitrary entitlements, fakesign them with ldid and the entitlements you want (ldid -S<path/to/entitlements.plist> <path/to/binary>) and TrollStore will preserve the entitlements when resigning them with the fake root certificate on installation. This gives you a lot of possibilities, some of which are explained below.

Banned entitlements

iOS 15 on A12+ has banned the following three entitlements related to running unsigned code, these are impossible to get without a PPL bypass, apps signed with them will crash on launch.

com.apple.private.cs.debugger

dynamic-codesigning

com.apple.private.skip-library-validation

Unsandboxing

Your app can run unsandboxed using one of the following entitlements:

<key>com.apple.private.security.container-required</key>
<false/>
<key>com.apple.private.security.no-container</key>
<true/>
<key>com.apple.private.security.no-sandbox</key>
<true/>

The third one is recommended if you still want a sandbox container for your application.

You might also need the platform-application entitlement in order for these to work properly:

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

Please note that the platform-application entitlement causes side effects such as some parts of the sandbox becoming tighter, so you may need additional private entitlements to circumvent that. (For example afterwards you need an exception entitlement for every single IOKit user client class you want to access).

In order for an app with com.apple.private.security.no-sandbox and platform-application to be able to access it's own data container, you might need the additional entitlement:

<key>com.apple.private.security.storage.AppDataContainers</key>
<true/>

Root Helpers

When your app is not sandboxed, you can spawn other binaries using posix_spawn, you can also spawn binaries as root with the following entitlement:

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

You can also add your own binaries into your app bundle.

Afterwards you can use the spawnRoot function in TSUtil.m to spawn the binary as root.

Things that are not possible using TrollStore

  • Getting proper platformization (TF_PLATFORM / CS_PLATFORMIZED)
  • Spawning a launch daemon (Would need CS_PLATFORMIZED)
  • Injecting a tweak into a system process (Would need TF_PLATFORM, a userland PAC bypass and a PMAP trust level bypass)

Compilation

To compile TrollStore, ensure theos is installed. Additionaly ensure brew is installed and install libarchive from brew.

Credits and Further Reading

@alfiecg_dev - Found the CoreTrust bug that allows TrollStore to work through patchdiffing and worked on automating the bypass.

Google Threat Analysis Group - Found the CoreTrust bug as part of an in-the-wild spyware chain and reported it to Apple.

@LinusHenze - Found the installd bypass used to install TrollStore on iOS 14-15.6.1 via TrollHelperOTA, as well as the original CoreTrust bug used in TrollStore 1.0.

Fugu15 Presentation

Write-Up on the first CoreTrust bug with more information.

trollstore's People

Contributors

3m4r5 avatar alfiecg24 avatar bigboiman123 avatar bomberfish avatar cubebag avatar dacsang97 avatar detachhead avatar dhinakg avatar dlevi309 avatar ekomlenovic avatar eltociear avatar gzz2000 avatar halo-michael avatar icrazeios avatar itsnebulalol avatar khanhduytran0 avatar khcrysalis avatar l1ghtmann avatar luken11 avatar lunjielee avatar nsantoine avatar opa334 avatar quantrieupcyt avatar ryanfortner avatar themasterofmike avatar tom-snow avatar tylinux avatar udevsharold avatar verygenericname avatar xiky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

trollstore's Issues

App crash after install persistence helper

Im using iPhone X 15.1

when i install persistence helper into some app (for example Notes), this App (notes) crash and not start

after reboot the iphone, troll store and notes App crash and not start

If I install troll store again it work

[Suggestion] Add installed app info

Is it possible to add this so when we tap on an installed app in TrollStore's list it shows the app's info like version, Bundle ID, size...

Thanks.

Cannot be installed

Hello,

I install the 1.0.4 Trollinstaller with Sideloady, I open the application and I click on "install". It tells me that it is installed, but I still have nothing in my applications, even after a reboot. I'm on iOS 15.0.2 with an iPhone 13.

App plugins do not work

Yes, we all know this now. I have tried fixing it but not sure what's the problem. Hopefully I will find a fix at some point.

EDIT: Notifications work now in 1.0.5. Plugins still don't.

Trouble Installing Larger Apps

Environment: iPhone 13 Pro 15.1.1 (19B81)

Attempting to install large applications (such as 120 MB) seems to be unsuccessful, as the app does not appear under the listing even after waiting 10 minutes in the app. Others on Twitter appear to have the same issue.

Safari Extensions don't work

I installed a safari extension as IPA file, the app for the extension's settings is working, but not the extension itself.
It doesn't even show up on manage extensions menu on Safari, or on Safari Extension in Setting.app.

Iphone 12 pro max 15.1.1 no trollstore after install

I'm not sure if this is a known issue as I didn't see in the list of issues but I sideloaded TrollStore Installer and clicked on "Install". However, nothing showed up on my homescreen. Even after reboot nothing was there. Is this a known issue? I am on version 1.0.2.

Getting an error installing the TrollStore .ipa

iPhone XS Max on iOS 14.8.1. When I try to install the .ipa using sideloadly, I get the following error:
"ERROR: Guru Meditation da8d42@132:556260@191:69dc7f@80:c397fe@452:e6aca1@648:e6aca1@567:e6aca1@560:e3dfb2@44:8d61e2@1222:8d61e2@1078:2d389a [Errno 22] Invalid argument: 'C:\Users\__\AppData\Local\Temp\tmpfd2vlwq0\Payload\TrollInstaller.app\TrollInstaller'"

How can I fix this?

exploit failed with iPad mini 6, IOS 15.0.1

Hi,

Thanks for your grate work!

I tried Trollinstaller on my iPad mini 6 (model MK7V3CH/A)which installed with iOS 15.0.1, but it said Exploit failed.
The Troll installer version I used is 1.0.1.

Is this version not support iPad mini 6?

Cheers

Apps installed with TrollStore do not show up in iTunes/Finder

macOS 12.5.1 MBA m1
apps installed via AltStore show up just fine, but with TrollStore they aren't in the list of apps.

STR:

  1. Connect iPhone to Mac with cable
  2. Open Finder, go to Locations > iPhone, and open the tab Files

Expected result:
apps installed via TrollStore will show up in the list of apps

Experienced result:
apps installed via TrollStore are not in the list of apps

TrollStore not showing up after install

Device info:
A13 iPhone SE (2020), iOS 15.0

Sideloaded with altstore, used installer, trollstore not showing up even after respring or reboot.
(respring done using Jaility)

[Bug] Reinstalling app from Appstore after installing with TrollStore

When you install a tweaked app (MessengerShark for example) and it shows in TrollStore's list, and then you redownload the original app from Appstore it replaces the tweaked app but it stays in TrollStore's list, if you try to delete it from there it deletes the app right after it in the list with it.

Video:

Upload.from.GitHub.for.iOS.MOV

Problems encountered in use

A small suggestion, I hope to indicate the software version number on the app interface.
A somewhat strange operation, when I installed the new version of TrollStore with the old version of TrollStore, click the install button in the new version of TrollStore and the device restarted, and then I put
After the old version of TrollStore was removed, I'm not sure if the new version of TrollStore is taking effect.

Doesn't work on iPad Pro 11 (1st Gen)

Tried installing, it doesn't work, says exploiting and force closes and same thing happens all over again, tried restarting as well but no use, can you help ?

App Crash and Unable to Remove Bugged/Ghost App

Environment: iPhone 13 Pro 15.1.1 (19B81)

I attempted to install an application which was most likely not compatible, and it appears under the TrollStore listing but does not appear on the home screen. Attempting to remove the application (or at least its ghost listing) by deleting it in TrollStore results in the app immediately crashing and the app still listed upon starting TrollStore again. Attached is what I think may be a relevant crash log I found.

TrollStore-2022-09-02-123434.txt

Installing on Ipad 9th gen on 15.1

Fresh install of trollstore IPA. Clicking install does a rapid "installing" text immediately to "done" and nothing else happens. Less than a second of text appears so I know something is failing.
What else can I provide to help diagnose?

Notifications error

Settings - Notifications - Do not show trollstore installed apps

App does not notify

error 171

5BC6CE8E-DDFC-46EB-8F46-0C026C514BA8

no any YouTube-related app installed

8 Plus ios 14.4 TrollStore install crash

Hello,

I have install ipa TrollStore with AlStore. After install success I have open TrollInstaller => Install but click Install wait for 3s is app crash or loading at Exploiting.... not complete for install.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.