如何检测如果一个应用程序已经没有检查SignerIdentity破解? [英] How do I detect if an app has been cracked without examining the SignerIdentity?

查看:761
本文介绍了如何检测如果一个应用程序已经没有检查SignerIdentity破解?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

曾经有一个方法来检查,如果一个应用程序从App Store购买,以防止开裂:

There used to be a method to check if an application was purchased from the App Store, to protect against cracking:

NSBundle *bundle = [NSBundle mainBundle]; 
NSDictionary *info = [bundle infoDictionary]; 
if ([info objectForKey: @"SignerIdentity"] != nil) 
{ /* do something */  }

但这种方法不再有效,因为黑客们发现周围改变Info.plist的方式。我知道这个老年问题,但答案presented有依靠关于上述技术,它不再有效。

but this method no longer works because the crackers have found ways around altering the Info.plist. I'm aware of this older question, but the answers presented there rely on the above technique, which is no longer valid.

您如何检测未经Info.plist中读取SignerIdentity应用程序是否被破解或从App Store合法购买?

How can you detect whether your application was cracked or purchased legitimately from the App Store without reading the SignerIdentity from the Info.plist?

推荐答案

而不是一个检查,看看如果一个应用程序从App Store购买的,我用这个code,检查,看看我的应用程序运行越狱的设备:

While not a check to see if an Application was purchased from the App Store, I use this code to check to see if my application is running on a jailbroken device:

+(BOOL)isJailbroken { 
    NSURL* url = [NSURL URLWithString:@"cydia://package/com.example.package"]; 
    return [[UIApplication sharedApplication] canOpenURL:url]; 
} 

这篇关于如何检测如果一个应用程序已经没有检查SignerIdentity破解?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆