#iphone #ios #jailbreak #nsfilemanager
#iPhone #iOS #джейлбрейк #nsfilemanager
Вопрос:
Я пытаюсь написать некоторый код для проверки или изменения (не вредоносного или чего-то подобного) других приложений iOS, установленных на устройстве пользователя. В частности, на устройстве с джейлбрейком. На взломанном устройстве я могу просматривать файлы за пределами изолированной среды приложения, и когда я смотрю на «/ private / var / mobile / Applications /» с помощью NSFileManager, я вижу список каталогов (названных в какой-то шестнадцатеричной схеме). Как и ожидалось.
К сожалению, когда я просматриваю каждый каталог, все они возвращают (кроме самого запущенного приложения) FALSE для isDirectory и NULL для attributesOfItemAtPath. Мне нужно иметь доступ к .app внутри каждой из этих папок, но я не могу видеть ниже них, и каждая возвращает неверную информацию.
Ниже приведен код, который я использую:
NSString *path = @"/private/var/mobile/Applications/";
NSFileManager *manager = [NSFileManager defaultManager];
NSArray *fileList = [manager contentsOfDirectoryAtPath:path error:nil];
for(NSString *file in fileList) {
NSString *fullpath = [path stringByAppendingPathComponent:file];
NSLog(@"fullpath = %@", fullpath);
BOOL isDir = nil;
[manager fileExistsAtPath:fullpath isDirectory:(amp;isDir)];
if(isDir) {
NSLog(@"isDir");
//NSArray *subfiles = [self filesBeneathDirectory:fullpath withExtension:extension];
} else {
NSLog(@"!isDir");
NSDictionary *attributes = [manager attributesOfItemAtPath:fullpath error:nil];
NSLog(@"attributes = %@",attributes);
}
}
Я был бы признателен за любую помощь в обнаружении файлов ниже этих каталогов. Я предполагал, что iPhone будет иметь полный root-доступ (будучи взломанным устройством и все такое).
Комментарии:
1. джейлбрейк телефона не обязательно изменит результаты Apple API. возможно, вам потребуется получить доступ к базовым вызовам файловой системы UNIX, чтобы получить этот доступ (предостережение: я никогда этого не делал, но это имеет смысл для меня из-за многолетнего программирования в unix и NeXTSTEP / OS X)
Ответ №1:
Из вашего приложения вам разрешен доступ только к вашей собственной изолированной среде. Это не принесет никакой пользы, если вы получите доступ к файлам в других каталогах, есть несколько очень веских причин, по которым Apple ограничила доступ.