Je viens de publier mon application pour iOS, mais je ne sais pas comment protéger mon application contre les jailbrakers.
Puis-je faire quelque chose pour empêcher mon application de fonctionner sur des appareils jailbreakés ?
Je viens de publier mon application pour iOS, mais je ne sais pas comment protéger mon application contre les jailbrakers.
Puis-je faire quelque chose pour empêcher mon application de fonctionner sur des appareils jailbreakés ?
Vérifiez ces chemins
+ (BOOL)isJailBroken {
#ifdef TARGET_IPHONE_SIMULATOR
return NO;
#endif
NSArray *paths = @[@"/bin/bash",
@"/usr/sbin/sshd",
@"/etc/apt",
@"/private/var/lib/apt/",
@"/Applications/Cydia.app",
];
for (NSString *path in paths) {
if ([self fileExistsAtPath:path]) {
return YES;
}
}
return NO;
}
+ (BOOL)fileExistsAtPath:(NSString *)path {
FILE *pFile;
pFile = fopen([path cStringUsingEncoding:[NSString defaultCStringEncoding]], "r");
if (pFile == NULL) {
return NO;
}
else
fclose(pFile);
return YES;
}
De plus, vous pouvez consulter https://github.com/OneSignal/OneSignal-iOS-SDK/blob/master/iOS_SDK/OneSignalSDK/Source/OneSignalJailbreakDetection.m
Essayez de trouver un fichier créé par cydia ou un appareil jailbreaké. Ou essayez d'écrire dans un fichier en dehors de la boîte noire de l'application. Si vous réussissez à le faire, l'appareil est compromis / jailbreaké :)
- (BOOL)jailbroken
{
NSFileManager * fileManager = [NSFileManager defaultManager];
return [fileManager fileExistsAtPath:@"/private/var/lib/apt/"];
}
Vous pouvez détecter si un appareil est jailBroken ou non en vérifiant ce qui suit
Il existe une bibliothèque open source que j'ai créée à partir de divers articles et livres, essayez-la.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.