Ale*_*lds 62 iphone piracy piracy-prevention
什么是可以接受的减少iPhone应用程序盗版的方法,这些方法不违反Apple的评估流程?
如果我的应用程序"打电话回家"提供运行它的唯一设备ID,我需要收集哪些其他信息(例如,用于购买应用程序的Apple ID)以创建授权使用该应用程序的有效注册令牌?同样,我将使用什么代码来访问额外的数据?
目前看来这个问题最好的技术方法是什么?
(请避免关于盗版是如何不可避免的非编程答案等等.我知道盗版是不可避免的.我对基于编程的答案感兴趣,讨论如何减少盗版.提前感谢您的理解.)
Dav*_*ong 48
感谢评论中的chpwn.
目前,有一种更简单的方法可以检测您的iPhone应用程序是否因盗版而被破解.这不涉及您根据接受的ID列表检查iPhone唯一ID.
目前,破解者有三件事:
最后一个最容易检查此代码:
NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *info = [bundle infoDictionary];
if ([info objectForKey: @"SignerIdentity"] != nil)
{ /* do something */ }
Run Code Online (Sandbox Code Playgroud)
通常我们在我们构建的任何App Store应用程序中都没有SignerIdentity,因此检查nil然后执行set指令应该使得对于破解者和盗版者来说更加困难.
我不能相信这一点,所以请访问如何阻止iPhone IPA Crackers.有大量关于iPhone盗版的信息以及如何遏制盗版.
正如Andrey Tarantsov在评论中指出的那样,在二进制文件中查找"SignerIdentity"字符串(使用类似HexEdit的应用程序)并替换它非常容易.
您可以对该字符串进行编码,但是您需要做的就是更改它的一个字符,并且应用程序不会再查找"SignerIdentity"键,而是查找可能不存在的其他键(因此为null ).该密钥为null,应用程序认为它没有被破解(因为如果应用程序没有被破解,SignerIdentity应为null).
相反,我宁愿检查info.plist的大小,并将其与参考值进行比较.我注意到模拟器和设备构建没有相同的info.plist文件大小.调试,发布和分发版本也是如此.因此,请确保使用Device Distribution Build的info.plist文件大小设置参考值.
| 归档时间: |
|
| 查看次数: |
15005 次 |
| 最近记录: |