Fixed 26.2 SDK errors + AirDrop 'done' bug

This commit is contained in:
√(noham)²
2026-05-28 00:20:30 +02:00
parent 26e6ed4c8d
commit 3d40efe291
8 changed files with 27 additions and 16 deletions

View File

@@ -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

View File

@@ -10,7 +10,7 @@
<string>App Icon</string>
</dict>
<key>CFBundleIdentifier</key>
<string>com.fiore.trolldecrypt</string>
<string>com.nohamr.trolldecrypt</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>

View File

@@ -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

View File

@@ -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;

View File

@@ -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]];
[self dismissViewControllerAnimated:NO completion:^{
[self presentViewController:sharingView animated:YES completion:nil];
[sharingView setCompletionHandler:^(NSError *error) {
[self dismissViewControllerAnimated:true completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];
}];
}];
[self presentViewController:sharingView animated:true completion:nil];

View File

@@ -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;

View File

@@ -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

View File

@@ -5,7 +5,7 @@
<key>platform-application</key>
<true/>
<key>application-identifier</key>
<string>com.fiore.trolldecrypt</string>
<string>com.nohamr.trolldecrypt</string>
<key>com.apple.security.exception.files.absolute-path.read-write</key>
<array>
<string>/</string>