Back to Security.framework on iOS 16+, apparently ldid signed binaries don't work on 16+

This commit is contained in:
opa334 2023-11-28 02:58:01 +01:00
parent 1b26441eb6
commit 1bd49022fa
4 changed files with 20 additions and 20 deletions

View File

@ -478,11 +478,11 @@ int signApp(NSString* appPath)
#else
int signAdhoc(NSString *filePath, NSDictionary *entitlements)
{
//if (@available(iOS 15, *)) {
// return codesign_sign_adhoc(filePath.fileSystemRepresentation, true, entitlements);
//}
if (@available(iOS 16, *)) {
return codesign_sign_adhoc(filePath.fileSystemRepresentation, true, entitlements);
}
// If iOS 14 is so great, how come there is no iOS 14 2?????
//else {
else {
if(!isLdidInstalled()) return 173;
NSString *entitlementsPath = nil;
@ -519,7 +519,7 @@ int signAdhoc(NSString *filePath, NSDictionary *entitlements)
{
return 175;
}
//}
}
}
int signApp(NSString* appPath)
@ -1051,7 +1051,7 @@ int installTrollStore(NSString* pathToTar)
NSString* tmpTrollStorePath = [tmpPayloadPath stringByAppendingPathComponent:@"TrollStore.app"];
if(![[NSFileManager defaultManager] fileExistsAtPath:tmpTrollStorePath]) return 1;
//if (@available(iOS 15, *)) {} else {
if (@available(iOS 16, *)) {} else {
// Transfer existing ldid installation if it exists
// But only if the to-be-installed version of TrollStore is 1.5.0 or above
// This is to make it possible to downgrade to older versions still
@ -1084,7 +1084,7 @@ int installTrollStore(NSString* pathToTar)
}
}
}
//}
}
// Merge existing URL scheme settings value
if(!getTSURLSchemeState(nil))
@ -1367,12 +1367,12 @@ int MAIN_NAME(int argc, char *argv[], char *envp[])
}
else if([cmd isEqualToString:@"install-ldid"])
{
//if (@available(iOS 15, *)) {} else {
if (@available(iOS 16, *)) {} else {
if(args.count < 3) return -3;
NSString* ldidPath = args[1];
NSString* ldidVersion = args[2];
installLdid(ldidPath, ldidVersion);
//}
}
}
else if([cmd isEqualToString:@"refresh"])
{

View File

@ -54,12 +54,12 @@ extern NSUserDefaults* trollStoreUserDefaults();
errorDescription = @"The app's main executable does not exist.";
break;
case 175: {
//if (@available(iOS 15, *)) {
// errorDescription = @"Failed to sign the app.";
//}
//else {
if (@available(iOS 16, *)) {
errorDescription = @"Failed to sign the app.";
}
else {
errorDescription = @"Failed to sign the app. ldid returned a non zero status code.";
//}
}
}
break;
case 176:

View File

@ -76,7 +76,7 @@
// or if it's the one from an old TrollStore version that's no longer supported
- (void)handleLdidCheck
{
//if (@available(iOS 15, *)) {} else {
if (@available(iOS 16, *)) {} else {
NSString* tsAppPath = [NSBundle mainBundle].bundlePath;
NSString* ldidPath = [tsAppPath stringByAppendingPathComponent:@"ldid"];
@ -86,7 +86,7 @@
{
[TSInstallationController installLdid];
}
//}
}
}
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {

View File

@ -34,7 +34,7 @@ extern NSUserDefaults* trollStoreUserDefaults(void);
}
});
//if (@available(iOS 15, *)) {} else {
if (@available(iOS 16, *)) {} else {
fetchLatestLdidVersion(^(NSString* latestVersion)
{
NSString* ldidVersionPath = [NSBundle.mainBundle.bundlePath stringByAppendingPathComponent:@"ldid.version"];
@ -54,7 +54,7 @@ extern NSUserDefaults* trollStoreUserDefaults(void);
});
}
});
//}
}
}
- (NSMutableArray*)specifiers
@ -113,7 +113,7 @@ extern NSUserDefaults* trollStoreUserDefaults(void);
[_specifiers addObject:rebuildIconCacheSpecifier];
//if (@available(iOS 15, *)) { } else {
if (@available(iOS 16, *)) { } else {
NSString* ldidPath = [NSBundle.mainBundle.bundlePath stringByAppendingPathComponent:@"ldid"];
NSString* ldidVersionPath = [NSBundle.mainBundle.bundlePath stringByAppendingPathComponent:@"ldid.version"];
BOOL ldidInstalled = [[NSFileManager defaultManager] fileExistsAtPath:ldidPath];
@ -188,7 +188,7 @@ extern NSUserDefaults* trollStoreUserDefaults(void);
installLdidSpecifier.buttonAction = @selector(installOrUpdateLdidPressed);
[_specifiers addObject:installLdidSpecifier];
}
//}
}
PSSpecifier* persistenceGroupSpecifier = [PSSpecifier emptyGroupSpecifier];
persistenceGroupSpecifier.name = @"Persistence";