[英]How to detect a cracked iPhone App and a jailbroken device (different methods)
我正在为破解的iPhone应用程序构建黑名单服务,如果我错过了检测破解应用程序的方法,我很好奇。
在下面的应用程序裂缝检测方法可用于该服务:
我也想知道是否有可能检查设备是否已越狱? 这也有所帮助,因为该服务将像垃圾邮件黑名单一样工作,越狱可用于提高分数。
我还包括一个蜜罐,它告诉我,破解者使用的工具消除了我做的一些检查。 例如,plist检查大小或签名者身份。
我现在的问题是:
和
谢谢你的帮助!
永远不要试图阻止越狱设备使用您的应用程序,只是破解。 如果你阻止越狱设备,他们将被迫使用修补版本,删除所有检查。
我的所有设备都被越狱了,所以如果开发人员阻止越狱设备,我将不得不忽略他们的应用程序。 超过10%的iDevices都被越狱了,所以这是一个非常糟糕的主意。
编辑 :因为我得到了很多投票,我会发布一些方法来检测越狱。
- (BOOL)fileExistsAtPath:(NSString *)path{
NSLog(@"Check if file '%@' exists", path);
struct stat buffer;
return stat([path UTF8String], &buffer) == 0;
}
- (BOOL)jailbroken{
return ([self fileExistsAtPath:@"/Applications/Cydia.app"]);
}
-(IBAction)rootCheck:(id)sender {
NSArray *jailbrokenPath = [NSArray arrayWithObjects:
@"/Applications/Cydia.app",
@"/Applications/RockApp.app",
@"/Applications/Icy.app",
@"/usr/sbin/sshd",
@"/usr/bin/sshd",
@"/usr/libexec/sftp-server",
@"/Applications/WinterBoard.app",
@"/Applications/SBSettings.app",
@"/Applications/MxTube.app",
@"/Applications/IntelliScreen.app",
@"/Library/MobileSubstrate/DynamicLibraries/Veency.plist",
@"/Applications/FakeCarrier.app",
@"/Library/MobileSubstrate/DynamicLibraries/LiveClock.plist",
@"/private/var/lib/apt",
@"/Applications/blackra1n.app",
@"/private/var/stash",
@"/private/var/mobile/Library/SBSettings/Themes",
@"/System/Library/LaunchDaemons/com.ikey.bbot.plist",
@"/System/Library/LaunchDaemons/com.saurik.Cydia.Startup.plist",
@"/private/var/tmp/cydia.log",
@"/private/var/lib/cydia", nil];
NSString *rooted;
for(NSString *string in jailbrokenPath)
if ([[NSFileManager defaultManager] fileExistsAtPath:string])
rooted=@"y";
else
rooted=@"n";
NSLog(@"%@", rooted);
}
示例代码: http : //www.evernote.com/shard/s13/sh/e45f27ee-3dd5-4eb1-9f56-1981cdd3286b/bc156eb773315647c13c2c7ee4191866
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.