diff --git a/Shared/TSUtil.m b/Shared/TSUtil.m index 05eb89c..0afba28 100644 --- a/Shared/TSUtil.m +++ b/Shared/TSUtil.m @@ -7,10 +7,8 @@ static EXPLOIT_TYPE gPlatformVulnerabilities; -@interface PSAppDataUsagePolicyCache : NSObject -+ (instancetype)sharedInstance; -- (void)setUsagePoliciesForBundle:(NSString*)bundleId cellular:(BOOL)cellular wifi:(BOOL)wifi; -@end +void* _CTServerConnectionCreate(CFAllocatorRef, void *, void *); +int64_t _CTServerConnectionSetCellularUsagePolicy(CFTypeRef* ct, NSString* identifier, NSDictionary* policies); #define POSIX_SPAWN_PERSONA_FLAGS_OVERRIDE 1 extern int posix_spawnattr_set_persona_np(const posix_spawnattr_t* __restrict, uid_t, uint32_t); @@ -19,14 +17,14 @@ extern int posix_spawnattr_set_persona_gid_np(const posix_spawnattr_t* __restric void chineseWifiFixup(void) { - NSBundle *bundle = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/SettingsCellular.framework"]; - [bundle load]; - - PSAppDataUsagePolicyCache* policyCache = [NSClassFromString(@"PSAppDataUsagePolicyCache") sharedInstance]; - if([policyCache respondsToSelector:@selector(setUsagePoliciesForBundle:cellular:wifi:)]) - { - [policyCache setUsagePoliciesForBundle:NSBundle.mainBundle.bundleIdentifier cellular:true wifi:true]; - } + _CTServerConnectionSetCellularUsagePolicy( + _CTServerConnectionCreate(kCFAllocatorDefault, NULL, NULL), + NSBundle.mainBundle.bundleIdentifier, + @{ + @"kCTCellularDataUsagePolicy" : @"kCTCellularDataUsagePolicyAlwaysAllow", + @"kCTWiFiDataUsagePolicy" : @"kCTCellularDataUsagePolicyAlwaysAllow" + } + ); } NSString *getExecutablePath(void) diff --git a/TrollHelper/Makefile b/TrollHelper/Makefile index 1ca41a3..0a01c68 100644 --- a/TrollHelper/Makefile +++ b/TrollHelper/Makefile @@ -19,7 +19,7 @@ include $(THEOS)/makefiles/common.mk APPLICATION_NAME = TrollStorePersistenceHelper TrollStorePersistenceHelper_FILES = $(wildcard *.m) $(wildcard ../Shared/*.m) -TrollStorePersistenceHelper_FRAMEWORKS = UIKit CoreGraphics CoreServices +TrollStorePersistenceHelper_FRAMEWORKS = UIKit CoreGraphics CoreServices CoreTelephony TrollStorePersistenceHelper_PRIVATE_FRAMEWORKS = Preferences MobileContainerManager TrollStorePersistenceHelper_CFLAGS = -fobjc-arc -I../Shared diff --git a/TrollHelper/entitlements.plist b/TrollHelper/entitlements.plist index 8d8ff62..5925e11 100644 --- a/TrollHelper/entitlements.plist +++ b/TrollHelper/entitlements.plist @@ -6,10 +6,7 @@ com.opa334.trollstorepersistencehelper com.apple.CommCenter.fine-grained - cellular-plan - data-usage data-allowed-write - preferences-write com.apple.private.persona-mgmt diff --git a/TrollStore/Makefile b/TrollStore/Makefile index d0c62e2..8bf3ab7 100644 --- a/TrollStore/Makefile +++ b/TrollStore/Makefile @@ -9,7 +9,7 @@ include $(THEOS)/makefiles/common.mk APPLICATION_NAME = TrollStore TrollStore_FILES = $(wildcard *.m) $(wildcard ../Shared/*.m) -TrollStore_FRAMEWORKS = UIKit CoreGraphics CoreServices +TrollStore_FRAMEWORKS = UIKit CoreGraphics CoreServices CoreTelephony TrollStore_PRIVATE_FRAMEWORKS = Preferences MobileIcons MobileContainerManager TrollStore_LIBRARIES = archive TrollStore_CFLAGS = -fobjc-arc -I../Shared diff --git a/TrollStore/entitlements.plist b/TrollStore/entitlements.plist index da67efb..abc5d7b 100644 --- a/TrollStore/entitlements.plist +++ b/TrollStore/entitlements.plist @@ -37,10 +37,7 @@ com.apple.CommCenter.fine-grained - cellular-plan - data-usage data-allowed-write - preferences-write com.apple.springboard.opensensitiveurl