diff --git a/Makefile b/Makefile index 53168e5..61ab894 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -TARGET := appletv:clang:16.4:14.0 +TARGET := appletv:clang:26.2:14.0 INSTALL_TARGET_PROCESSES = TrollDecrypt GO_EASY_ON_ME = 1 diff --git a/Resources/Info.plist b/Resources/Info.plist index 6ba62d2..ef8a235 100644 --- a/Resources/Info.plist +++ b/Resources/Info.plist @@ -10,7 +10,7 @@ App Icon CFBundleIdentifier - com.fiore.trolldecrypt + com.nohamr.trolldecrypt CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType diff --git a/TDDumpDecrypted.h b/TDDumpDecrypted.h index ffe588d..f4c6c0c 100644 --- a/TDDumpDecrypted.h +++ b/TDDumpDecrypted.h @@ -12,6 +12,6 @@ - (id)initWithPathToBinary:(NSString *)pathToBinary appName:(NSString *)appName appVersion:(NSString *)appVersion; - (void)createIPAFile:(pid_t)pid; -- (BOOL)dumpDecryptedImage:(const struct mach_header *)image_mh fileName:(const char *)encryptedImageFilenameStr image:(int)imageNum task:(vm_map_t)targetTask; +- (BOOL)dumpDecryptedImage:(vm_address_t)imageAddress fileName:(const char *)encryptedImageFilenameStr image:(int)imageNum task:(vm_map_t)targetTask; - (NSString *)IPAPath; @end \ No newline at end of file diff --git a/TDDumpDecrypted.m b/TDDumpDecrypted.m index 7c73726..9629254 100644 --- a/TDDumpDecrypted.m +++ b/TDDumpDecrypted.m @@ -357,9 +357,9 @@ int find_off_cryptid(const char *filePath) { [self makeDirectories:encryptedImageFilenameStr]; //0x1518 - uint32_t aslr_slide = 0; + uint64_t aslr_slide = 0; get_image_size(imageAddress, targetTask, &aslr_slide); - NSLog(@"[trolldecrypt] aslr_slide= 0x%x", aslr_slide); + NSLog(@"[trolldecrypt] aslr_slide= 0x%llx", aslr_slide); off_cryptid=find_off_cryptid(encryptedImageFilenameStr); @@ -532,8 +532,8 @@ int find_off_cryptid(const char *filePath) { mach_msg_type_number_t size3 = PATH_MAX; uint8_t *fpath_addr = readProcessMemory(targetTask, (mach_vm_address_t) info[i].imageFilePath, &size3); - imageAddress = (struct mach_header *)info[i].imageLoadAddress; - const char *imageName = fpath_addr; + imageAddress = (mach_vm_address_t)info[i].imageLoadAddress; + const char *imageName = (const char *)fpath_addr; if(!imageName || !imageAddress) continue; diff --git a/TDFileManagerViewController.m b/TDFileManagerViewController.m index 3ce3540..745f371 100644 --- a/TDFileManagerViewController.m +++ b/TDFileManagerViewController.m @@ -50,12 +50,12 @@ cell.textLabel.text = self.fileList[indexPath.row]; cell.detailTextLabel.text = [dateFormatter stringFromDate:date]; - cell.detailTextLabel.textColor = [UIColor systemGray2Color]; + cell.detailTextLabel.textColor = [UIColor grayColor]; cell.imageView.image = [UIImage systemImageNamed:@"doc.fill"]; UILabel *label = [[UILabel alloc] init]; label.text = [NSString stringWithFormat:@"%.2f MB", [fileSize doubleValue] / 1000000.0f]; - label.textColor = [UIColor systemGray2Color]; + label.textColor = [UIColor grayColor]; label.font = [UIFont systemFontOfSize:12.0f]; [label sizeToFit]; label.textAlignment = NSTextAlignmentCenter; @@ -73,6 +73,7 @@ return YES; } +#if !TARGET_OS_TV - (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath { UIContextualAction *deleteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"Delete" handler:^(UIContextualAction *action, UIView *sourceView, void (^completionHandler)(BOOL)) { NSString *file = self.fileList[indexPath.row]; @@ -84,6 +85,7 @@ UISwipeActionsConfiguration *swipeActions = [UISwipeActionsConfiguration configurationWithActions:@[deleteAction]]; return swipeActions; } +#endif UIWindow *kw2 = NULL; UIAlertController *doneController2 = NULL; @@ -111,8 +113,11 @@ UIAlertController *doneController2 = NULL; [sharingUI load]; id sharingView = [[objc_getClass("SFAirDropSharingViewControllerTV") alloc] initWithSharingItems:@[url]]; - [sharingView setCompletionHandler:^(NSError *error) { - [self dismissViewControllerAnimated:true completion:nil]; + [self dismissViewControllerAnimated:NO completion:^{ + [self presentViewController:sharingView animated:YES completion:nil]; + [sharingView setCompletionHandler:^(NSError *error) { + [self dismissViewControllerAnimated:YES completion:nil]; + }]; }]; [self presentViewController:sharingView animated:true completion:nil]; diff --git a/TDRootViewController.m b/TDRootViewController.m index 39fcb7b..346a298 100644 --- a/TDRootViewController.m +++ b/TDRootViewController.m @@ -9,13 +9,17 @@ self.apps = appList(); self.title = @"TrollDecrypt"; +#if !TARGET_OS_TV self.navigationController.navigationBar.prefersLargeTitles = YES; +#endif self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage systemImageNamed:@"info.circle"] style:UIBarButtonItemStylePlain target:self action:@selector(about:)]; self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage systemImageNamed:@"folder"] style:UIBarButtonItemStylePlain target:self action:@selector(openDocs:)]; +#if !TARGET_OS_TV UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; [refreshControl addTarget:self action:@selector(refreshApps:) forControlEvents:UIControlEventValueChanged]; self.refreshControl = refreshControl; +#endif } - (void)viewDidAppear:(bool)animated { @@ -53,11 +57,13 @@ [self presentViewController:alert animated:YES completion:nil]; } +#if !TARGET_OS_TV - (void)refreshApps:(UIRefreshControl *)refreshControl { self.apps = appList(); [self.tableView reloadData]; [refreshControl endRefreshing]; } +#endif - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; diff --git a/control b/control index 432bcce..be6c490 100644 --- a/control +++ b/control @@ -1,8 +1,8 @@ -Package: com.fiore.trolldecrypt +Package: com.nohamr.trolldecrypt Name: TrollDecrypt -Version: 1.1 +Version: 1.2 Architecture: iphoneos-arm Description: An awesome application! -Maintainer: fiore -Author: fiore +Maintainer: nohamr +Author: nohamr Section: Utilities diff --git a/entitlements.plist b/entitlements.plist index 4ff65ca..4947f2e 100644 --- a/entitlements.plist +++ b/entitlements.plist @@ -5,7 +5,7 @@ platform-application application-identifier - com.fiore.trolldecrypt + com.nohamr.trolldecrypt com.apple.security.exception.files.absolute-path.read-write /