gpt4 book ai didi

ios - 如何让iOS应用防篡改?

转载 作者:技术小花猫 更新时间:2023-10-29 11:01:35 27 4
gpt4 key购买 nike

我正在开展一个项目(移动应用程序),我需要在其中监控对手的行为。那么,我的问题是如何让 iOS 应用防篡改?

例如

  • 每当任何对手试图篡改代码时,系统都应提醒管理员注意这些操作
  • 并阻止那个对手
  • 如果用户尝试在已获得 root 权限的设备上安装应用程序,那么系统可以检测到。
  • 系统应该能够监控对手的行为。

我找到了适用于 Android 的解决方案,例如 ProGuardSafetyNet,但没有找到任何适用于 iOS 的解决方案。

最佳答案

我用过这个JailBreak detection在我的一个项目中。

有了这个,您就可以避免这种可能性。

    if ([DTTJailbreakDetection isJailbroken]) {

// your custom activity and business logic here
}

此外,准确地说,您可以使用以下 snippet :

BOOL isJailbroken()
{
#if !(TARGET_IPHONE_SIMULATOR)

if ([[NSFileManager defaultManager] fileExistsAtPath:@"/Applications/Cydia.app"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/Library/MobileSubstrate/MobileSubstrate.dylib"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/bin/bash"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/usr/sbin/sshd"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/etc/apt"] ||
[[NSFileManager defaultManager] fileExistsAtPath:@"/private/var/lib/apt/"] ||
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cydia://package/com.example.package"]]) {
return YES;
}

FILE *f = NULL ;
if ((f = fopen("/bin/bash", "r")) ||
(f = fopen("/Applications/Cydia.app", "r")) ||
(f = fopen("/Library/MobileSubstrate/MobileSubstrate.dylib", "r")) ||
(f = fopen("/usr/sbin/sshd", "r")) ||
(f = fopen("/etc/apt", "r"))) {
fclose(f);
return YES;
}
fclose(f);

NSError *error;
NSString *stringToBeWritten = @"This is a test.";
[stringToBeWritten writeToFile:@"/private/jailbreak.txt" atomically:YES encoding:NSUTF8StringEncoding error:&error];
[[NSFileManager defaultManager] removeItemAtPath:@"/private/jailbreak.txt" error:nil];
if(error == nil)
{
return YES;
}

#endif

return NO;
}

另外,Obfuscation在 iOS - objective C 中你可以使用这个 open source-libraryMethods & Classes .

关于ios - 如何让iOS应用防篡改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40860325/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com