首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何减少iPhone应用程序的盗版?

如何减少iPhone应用程序的盗版?
EN

Stack Overflow用户
提问于 2018-04-13 08:19:10
回答 2查看 0关注 0票数 0

什么来减少iPhone应用程序盗版,且不违反苹果的评估流程?

如果我的应用程序“回溯”以提供其运行的唯一设备ID,则需要收集哪些其他信息(例如,用于购买应用程序的Apple ID)以创建授权使用该应用程序的有效注册令牌?同样,我将使用什么代码来访问额外的数据?

目前,什么是解决这个问题的最佳技术方法?

(关于盗版是不可避免的,请避免非编程方面的答案等等。我知道盗版是不可避免的,我对基于编程的答案感兴趣,讨论如何减少盗版,)

EN

回答 2

Stack Overflow用户

发布于 2018-04-13 16:34:55

现在有一个更简单的方法来检测iPhone应用程序是否因盗版而被破解。这不涉及根据可接受的ID列表检查iPhone唯一ID。

目前,有三件事:

  1. 编辑Info.plist文件
  2. 将Info.plist从二进制解码为UTF-8或ASCII
  3. 向Info.plist添加一个密钥对{SignerIdentity,Apple iPhone OS应用签名}

最后一个最容易检查这个代码:

代码语言:javascript
复制
NSBundle *bundle = [NSBundle mainBundle]; 
NSDictionary *info = [bundle infoDictionary]; 
if ([info objectForKey: @"SignerIdentity"] != nil) 
{ /* do something */  }

一般来说,我们在任何App Store应用程序中都没有SignerIdentity,因此如果检查为零,然后执行设置指令,就会使得它更难以制作饼干和海盗。

票数 0
EN

Stack Overflow用户

发布于 2018-04-13 18:11:43

在二进制文件中寻找“SignerIdentity”字符串(使用像HexEdit这样的应用程序)并替换它非常简单。

可以对该字符串进行编码,但是只需更改其中的一个字符,应用程序就不会再查找“SignerIdentity”键,但对于其他可能不存在的键(因此为空)。该键为空,该应用程序认为它没有被破解(因为如果应用程序未被破解,SignerIdentity应该为空)。

相反,我宁愿检查info.plist的大小并将其与参考值进行比较。我注意到模拟器和设备版本没有相同的info.plist文件大小。调试,发布和发布版本也一样。因此,请确保使用Device Distribution Build的info.plist文件大小设置参考值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008108

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档