什么来减少iPhone应用程序盗版,且不违反苹果的评估流程?
如果我的应用程序“回溯”以提供其运行的唯一设备ID,则需要收集哪些其他信息(例如,用于购买应用程序的Apple ID)以创建授权使用该应用程序的有效注册令牌?同样,我将使用什么代码来访问额外的数据?
目前,什么是解决这个问题的最佳技术方法?
(关于盗版是不可避免的,请避免非编程方面的答案等等。我知道盗版是不可避免的,我对基于编程的答案感兴趣,讨论如何减少盗版,)
发布于 2018-04-13 16:34:55
现在有一个更简单的方法来检测iPhone应用程序是否因盗版而被破解。这不涉及根据可接受的ID列表检查iPhone唯一ID。
目前,有三件事:
最后一个最容易检查这个代码:
NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *info = [bundle infoDictionary];
if ([info objectForKey: @"SignerIdentity"] != nil)
{ /* do something */ }
一般来说,我们在任何App Store应用程序中都没有SignerIdentity,因此如果检查为零,然后执行设置指令,就会使得它更难以制作饼干和海盗。
发布于 2018-04-13 18:11:43
在二进制文件中寻找“SignerIdentity”字符串(使用像HexEdit这样的应用程序)并替换它非常简单。
可以对该字符串进行编码,但是只需更改其中的一个字符,应用程序就不会再查找“SignerIdentity”键,但对于其他可能不存在的键(因此为空)。该键为空,该应用程序认为它没有被破解(因为如果应用程序未被破解,SignerIdentity应该为空)。
相反,我宁愿检查info.plist的大小并将其与参考值进行比较。我注意到模拟器和设备版本没有相同的info.plist文件大小。调试,发布和发布版本也一样。因此,请确保使用Device Distribution Build的info.plist文件大小设置参考值。
https://stackoverflow.com/questions/-100008108
复制相似问题