-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 057bd1a
Showing
166 changed files
with
8,422 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
out/ | ||
.DS_Store | ||
.theos/ | ||
packages/ | ||
xcuserdata | ||
.vscode |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
@interface LSBundleProxy | ||
@property (nonatomic,readonly) NSString * bundleIdentifier; | ||
@property (nonatomic) NSURL* dataContainerURL; | ||
-(NSString*)localizedName; | ||
@end | ||
|
||
@interface LSApplicationProxy : LSBundleProxy | ||
+ (instancetype)applicationProxyForIdentifier:(NSString*)identifier; | ||
@property NSURL* bundleURL; | ||
@property NSString* bundleType; | ||
@property NSString* canonicalExecutablePath; | ||
@property (nonatomic,readonly) NSDictionary* groupContainerURLs; | ||
@property (nonatomic,readonly) NSArray* plugInKitPlugins; | ||
@property (getter=isInstalled,nonatomic,readonly) BOOL installed; | ||
@property (getter=isPlaceholder,nonatomic,readonly) BOOL placeholder; | ||
@property (getter=isRestricted,nonatomic,readonly) BOOL restricted; | ||
@end | ||
|
||
@interface LSApplicationWorkspace : NSObject | ||
+ (instancetype)defaultWorkspace; | ||
- (BOOL)registerApplicationDictionary:(NSDictionary*)dict; | ||
- (BOOL)unregisterApplication:(id)arg1; | ||
- (BOOL)_LSPrivateRebuildApplicationDatabasesForSystemApps:(BOOL)arg1 internal:(BOOL)arg2 user:(BOOL)arg3; | ||
- (BOOL)uninstallApplication:(NSString*)arg1 withOptions:(id)arg2; | ||
- (void)enumerateApplicationsOfType:(NSUInteger)type block:(void (^)(LSApplicationProxy*))block; | ||
@end | ||
|
||
@interface LSPlugInKitProxy : LSBundleProxy | ||
@property (nonatomic,readonly) NSString* pluginIdentifier; | ||
@property (nonatomic,readonly) NSDictionary * pluginKitDictionary; | ||
+ (instancetype)pluginKitProxyForIdentifier:(NSString*)arg1; | ||
@end | ||
|
||
@interface MCMContainer : NSObject | ||
+ (id)containerWithIdentifier:(id)arg1 createIfNecessary:(BOOL)arg2 existed:(BOOL*)arg3 error:(id*)arg4; | ||
@property (nonatomic,readonly) NSURL * url; | ||
@end | ||
|
||
@interface MCMDataContainer : MCMContainer | ||
|
||
@end | ||
|
||
@interface MCMAppDataContainer : MCMDataContainer | ||
|
||
@end | ||
|
||
@interface MCMAppContainer : MCMContainer | ||
@end | ||
|
||
@interface MCMPluginKitPluginDataContainer : MCMDataContainer | ||
@end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
TARGET := iphone:clang:14.5:14.0 | ||
ARCHS = arm64 | ||
|
||
include $(THEOS)/makefiles/common.mk | ||
|
||
TOOL_NAME = trollstorehelper | ||
|
||
trollstorehelper_FILES = $(wildcard *.m) | ||
trollstorehelper_CFLAGS = -fobjc-arc | ||
trollstorehelper_CODESIGN_FLAGS = -Sentitlements.plist | ||
trollstorehelper_INSTALL_PATH = /usr/local/bin | ||
trollstorehelper_LIBRARIES = archive | ||
trollstorehelper_PRIVATE_FRAMEWORKS = SpringBoardServices BackBoardServices | ||
|
||
include $(THEOS_MAKE_PATH)/tool.mk |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#import "CoreServices.h" | ||
|
||
NSArray* trollStoreInstalledAppBundlePaths(); | ||
NSArray* trollStoreInstalledAppContainerPaths(); | ||
NSString* trollStorePath(); | ||
NSString* trollStoreAppPath(); | ||
LSApplicationProxy* findPersistenceHelperApp(void); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
@import Foundation; | ||
#import "CoreServices.h" | ||
#import <objc/runtime.h> | ||
|
||
NSArray* trollStoreInstalledAppContainerPaths() | ||
{ | ||
NSMutableArray* appContainerPaths = [NSMutableArray new]; | ||
|
||
NSString* appContainersPath = @"/var/containers/Bundle/Application"; | ||
|
||
NSError* error; | ||
NSArray* containers = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:appContainersPath error:&error]; | ||
if(error) | ||
{ | ||
NSLog(@"error getting app bundles paths %@", error); | ||
} | ||
if(!containers) return nil; | ||
|
||
for(NSString* container in containers) | ||
{ | ||
NSString* containerPath = [appContainersPath stringByAppendingPathComponent:container]; | ||
BOOL isDirectory = NO; | ||
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:containerPath isDirectory:&isDirectory]; | ||
if(exists && isDirectory) | ||
{ | ||
NSString* trollStoreMark = [containerPath stringByAppendingPathComponent:@"_TrollStore"]; | ||
if([[NSFileManager defaultManager] fileExistsAtPath:trollStoreMark]) | ||
{ | ||
NSString* trollStoreApp = [containerPath stringByAppendingPathComponent:@"TrollStore.app"]; | ||
if(![[NSFileManager defaultManager] fileExistsAtPath:trollStoreApp]) | ||
{ | ||
[appContainerPaths addObject:containerPath]; | ||
} | ||
} | ||
} | ||
} | ||
|
||
return appContainerPaths.copy; | ||
} | ||
|
||
NSArray* trollStoreInstalledAppBundlePaths() | ||
{ | ||
NSMutableArray* appPaths = [NSMutableArray new]; | ||
for(NSString* containerPath in trollStoreInstalledAppContainerPaths()) | ||
{ | ||
NSArray* items = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:containerPath error:nil]; | ||
if(!items) return nil; | ||
|
||
for(NSString* item in items) | ||
{ | ||
if([item.pathExtension isEqualToString:@"app"]) | ||
{ | ||
[appPaths addObject:[containerPath stringByAppendingPathComponent:item]]; | ||
} | ||
} | ||
} | ||
return appPaths.copy; | ||
} | ||
|
||
NSString* trollStorePath() | ||
{ | ||
NSError* mcmError; | ||
MCMAppContainer* appContainer = [objc_getClass("MCMAppContainer") containerWithIdentifier:@"com.opa334.TrollStore" createIfNecessary:NO existed:NULL error:&mcmError]; | ||
if(!appContainer) return nil; | ||
return appContainer.url.path; | ||
} | ||
|
||
NSString* trollStoreAppPath() | ||
{ | ||
return [trollStorePath() stringByAppendingPathComponent:@"TrollStore.app"]; | ||
} | ||
|
||
LSApplicationProxy* findPersistenceHelperApp(void) | ||
{ | ||
__block LSApplicationProxy* outProxy; | ||
[[LSApplicationWorkspace defaultWorkspace] enumerateApplicationsOfType:1 block:^(LSApplicationProxy* appProxy) | ||
{ | ||
if(appProxy.installed && !appProxy.restricted) | ||
{ | ||
if([appProxy.bundleURL.path hasPrefix:@"/private/var/containers"]) | ||
{ | ||
NSURL* trollStorePersistenceMarkURL = [appProxy.bundleURL URLByAppendingPathComponent:@".TrollStorePersistenceHelper"]; | ||
if([trollStorePersistenceMarkURL checkResourceIsReachableAndReturnError:nil]) | ||
{ | ||
outProxy = appProxy; | ||
} | ||
} | ||
} | ||
}]; | ||
return outProxy; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
Package: com.opa334.trollstoreroothelper | ||
Name: trollstoreroothelper | ||
Version: 1.0 | ||
Architecture: iphoneos-arm | ||
Description: An awesome tool of some sort!! | ||
Maintainer: opa334 | ||
Author: opa334 | ||
Section: System | ||
Tag: role::hacker |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||
<plist version="1.0"> | ||
<dict> | ||
<key>platform-application</key> | ||
<true/> | ||
<key>com.apple.private.security.container-required</key> | ||
<false/> | ||
<key>com.apple.security.exception.files.absolute-path.read-write</key> | ||
<array> | ||
<string>/</string> | ||
</array> | ||
<key>com.apple.private.security.container-manager</key> | ||
<true/> | ||
<key>com.apple.private.coreservices.canmaplsdatabase</key> | ||
<true/> | ||
<key>com.apple.lsapplicationworkspace.rebuildappdatabases</key> | ||
<true/> | ||
<key>com.apple.private.security.storage.AppBundles</key> | ||
<true/> | ||
<key>com.apple.private.MobileContainerManager.allowed</key> | ||
<true/> | ||
<key>com.apple.private.MobileInstallationHelperService.InstallDaemonOpsEnabled</key> | ||
<true/> | ||
<key>com.apple.private.MobileInstallationHelperService.allowed</key> | ||
<true/> | ||
<key>com.apple.private.uninstall.deletion</key> | ||
<true/> | ||
<key>com.apple.backboardd.launchapplications</key> | ||
<true/> | ||
<key>com.apple.multitasking.termination</key> | ||
<true/> | ||
</dict> | ||
</plist> |
Oops, something went wrong.