mirror of
https://github.com/NohamR/TrollDecrypt-tvOS.git
synced 2026-07-11 19:10:05 +00:00
Fixed 26.2 SDK errors + AirDrop 'done' bug
This commit is contained in:
2
Makefile
2
Makefile
@@ -1,4 +1,4 @@
|
|||||||
TARGET := appletv:clang:16.4:14.0
|
TARGET := appletv:clang:26.2:14.0
|
||||||
INSTALL_TARGET_PROCESSES = TrollDecrypt
|
INSTALL_TARGET_PROCESSES = TrollDecrypt
|
||||||
|
|
||||||
GO_EASY_ON_ME = 1
|
GO_EASY_ON_ME = 1
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<string>App Icon</string>
|
<string>App Icon</string>
|
||||||
</dict>
|
</dict>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.fiore.trolldecrypt</string>
|
<string>com.nohamr.trolldecrypt</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
<string>6.0</string>
|
<string>6.0</string>
|
||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
|
|||||||
@@ -12,6 +12,6 @@
|
|||||||
|
|
||||||
- (id)initWithPathToBinary:(NSString *)pathToBinary appName:(NSString *)appName appVersion:(NSString *)appVersion;
|
- (id)initWithPathToBinary:(NSString *)pathToBinary appName:(NSString *)appName appVersion:(NSString *)appVersion;
|
||||||
- (void)createIPAFile:(pid_t)pid;
|
- (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;
|
- (NSString *)IPAPath;
|
||||||
@end
|
@end
|
||||||
@@ -357,9 +357,9 @@ int find_off_cryptid(const char *filePath) {
|
|||||||
[self makeDirectories:encryptedImageFilenameStr];
|
[self makeDirectories:encryptedImageFilenameStr];
|
||||||
|
|
||||||
//0x1518
|
//0x1518
|
||||||
uint32_t aslr_slide = 0;
|
uint64_t aslr_slide = 0;
|
||||||
get_image_size(imageAddress, targetTask, &aslr_slide);
|
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);
|
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;
|
mach_msg_type_number_t size3 = PATH_MAX;
|
||||||
uint8_t *fpath_addr = readProcessMemory(targetTask, (mach_vm_address_t) info[i].imageFilePath, &size3);
|
uint8_t *fpath_addr = readProcessMemory(targetTask, (mach_vm_address_t) info[i].imageFilePath, &size3);
|
||||||
|
|
||||||
imageAddress = (struct mach_header *)info[i].imageLoadAddress;
|
imageAddress = (mach_vm_address_t)info[i].imageLoadAddress;
|
||||||
const char *imageName = fpath_addr;
|
const char *imageName = (const char *)fpath_addr;
|
||||||
|
|
||||||
if(!imageName || !imageAddress)
|
if(!imageName || !imageAddress)
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
@@ -50,12 +50,12 @@
|
|||||||
|
|
||||||
cell.textLabel.text = self.fileList[indexPath.row];
|
cell.textLabel.text = self.fileList[indexPath.row];
|
||||||
cell.detailTextLabel.text = [dateFormatter stringFromDate:date];
|
cell.detailTextLabel.text = [dateFormatter stringFromDate:date];
|
||||||
cell.detailTextLabel.textColor = [UIColor systemGray2Color];
|
cell.detailTextLabel.textColor = [UIColor grayColor];
|
||||||
cell.imageView.image = [UIImage systemImageNamed:@"doc.fill"];
|
cell.imageView.image = [UIImage systemImageNamed:@"doc.fill"];
|
||||||
|
|
||||||
UILabel *label = [[UILabel alloc] init];
|
UILabel *label = [[UILabel alloc] init];
|
||||||
label.text = [NSString stringWithFormat:@"%.2f MB", [fileSize doubleValue] / 1000000.0f];
|
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.font = [UIFont systemFontOfSize:12.0f];
|
||||||
[label sizeToFit];
|
[label sizeToFit];
|
||||||
label.textAlignment = NSTextAlignmentCenter;
|
label.textAlignment = NSTextAlignmentCenter;
|
||||||
@@ -73,6 +73,7 @@
|
|||||||
return YES;
|
return YES;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !TARGET_OS_TV
|
||||||
- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {
|
- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||||
UIContextualAction *deleteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"Delete" handler:^(UIContextualAction *action, UIView *sourceView, void (^completionHandler)(BOOL)) {
|
UIContextualAction *deleteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"Delete" handler:^(UIContextualAction *action, UIView *sourceView, void (^completionHandler)(BOOL)) {
|
||||||
NSString *file = self.fileList[indexPath.row];
|
NSString *file = self.fileList[indexPath.row];
|
||||||
@@ -84,6 +85,7 @@
|
|||||||
UISwipeActionsConfiguration *swipeActions = [UISwipeActionsConfiguration configurationWithActions:@[deleteAction]];
|
UISwipeActionsConfiguration *swipeActions = [UISwipeActionsConfiguration configurationWithActions:@[deleteAction]];
|
||||||
return swipeActions;
|
return swipeActions;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
UIWindow *kw2 = NULL;
|
UIWindow *kw2 = NULL;
|
||||||
UIAlertController *doneController2 = NULL;
|
UIAlertController *doneController2 = NULL;
|
||||||
@@ -111,8 +113,11 @@ UIAlertController *doneController2 = NULL;
|
|||||||
[sharingUI load];
|
[sharingUI load];
|
||||||
|
|
||||||
id sharingView = [[objc_getClass("SFAirDropSharingViewControllerTV") alloc] initWithSharingItems:@[url]];
|
id sharingView = [[objc_getClass("SFAirDropSharingViewControllerTV") alloc] initWithSharingItems:@[url]];
|
||||||
[sharingView setCompletionHandler:^(NSError *error) {
|
[self dismissViewControllerAnimated:NO completion:^{
|
||||||
[self dismissViewControllerAnimated:true completion:nil];
|
[self presentViewController:sharingView animated:YES completion:nil];
|
||||||
|
[sharingView setCompletionHandler:^(NSError *error) {
|
||||||
|
[self dismissViewControllerAnimated:YES completion:nil];
|
||||||
|
}];
|
||||||
}];
|
}];
|
||||||
|
|
||||||
[self presentViewController:sharingView animated:true completion:nil];
|
[self presentViewController:sharingView animated:true completion:nil];
|
||||||
|
|||||||
@@ -9,13 +9,17 @@
|
|||||||
|
|
||||||
self.apps = appList();
|
self.apps = appList();
|
||||||
self.title = @"TrollDecrypt";
|
self.title = @"TrollDecrypt";
|
||||||
|
#if !TARGET_OS_TV
|
||||||
self.navigationController.navigationBar.prefersLargeTitles = YES;
|
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.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:)];
|
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];
|
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
|
||||||
[refreshControl addTarget:self action:@selector(refreshApps:) forControlEvents:UIControlEventValueChanged];
|
[refreshControl addTarget:self action:@selector(refreshApps:) forControlEvents:UIControlEventValueChanged];
|
||||||
self.refreshControl = refreshControl;
|
self.refreshControl = refreshControl;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)viewDidAppear:(bool)animated {
|
- (void)viewDidAppear:(bool)animated {
|
||||||
@@ -53,11 +57,13 @@
|
|||||||
[self presentViewController:alert animated:YES completion:nil];
|
[self presentViewController:alert animated:YES completion:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !TARGET_OS_TV
|
||||||
- (void)refreshApps:(UIRefreshControl *)refreshControl {
|
- (void)refreshApps:(UIRefreshControl *)refreshControl {
|
||||||
self.apps = appList();
|
self.apps = appList();
|
||||||
[self.tableView reloadData];
|
[self.tableView reloadData];
|
||||||
[refreshControl endRefreshing];
|
[refreshControl endRefreshing];
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||||
return 1;
|
return 1;
|
||||||
|
|||||||
8
control
8
control
@@ -1,8 +1,8 @@
|
|||||||
Package: com.fiore.trolldecrypt
|
Package: com.nohamr.trolldecrypt
|
||||||
Name: TrollDecrypt
|
Name: TrollDecrypt
|
||||||
Version: 1.1
|
Version: 1.2
|
||||||
Architecture: iphoneos-arm
|
Architecture: iphoneos-arm
|
||||||
Description: An awesome application!
|
Description: An awesome application!
|
||||||
Maintainer: fiore
|
Maintainer: nohamr
|
||||||
Author: fiore
|
Author: nohamr
|
||||||
Section: Utilities
|
Section: Utilities
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<key>platform-application</key>
|
<key>platform-application</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>application-identifier</key>
|
<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>
|
<key>com.apple.security.exception.files.absolute-path.read-write</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/</string>
|
<string>/</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user