为iPhone应用程序创建产品密钥? [iPhone SDK]

时间:2010-01-05 01:00:40

标签: iphone security encryption piracy

是否可以为从应用程序商店下载的应用程序副本分配不同的标识符,这些应用程序存储器是硬编码到应用程序中的?或者他们无论如何都要在应用程序包中永久存储一个标识符,这样当它被复制时,密钥仍然在捆绑包中?

编辑:好的,iTunes收录怎么样,它们可以用来验证它何时被下载,因为用户必须在下载它的5个小时内向服务器注册他们的应用程序。

提前致谢

2 个答案:

答案 0 :(得分:3)

我假设您的目标是通过在某处伪造序列号的主列表来禁用应用程序的部分功能。不幸的是,没有每个副本的序列号可用,如果有的话,在发布你的应用程序下载之前,坏人会首先改变。

相反,您需要检测应用包是否已在应用内被篡改。看到这个问题:

Reducing piracy of iPhone applications

然后,您需要确定您想要限制功能的微妙或明显程度。可能最好的解决方案是做一些无害但有点烦人的事情,产生一种特定的支持请求,此时你可以轻轻地推动这种不公正的行为,考虑购买合法的副本。

一种具有更多误报但可能更少漏报的方法是检查应用程序是否在越狱设备上运行。缺点是越狱者可能已经合法地购买了你的应用程序,所以你疏远了诚实的客户,几乎没有额外的好处。

对于我正在研究的应用程序,它具有很大的社交/病毒方面(我希望),我已经决定潜在的无用之道可能有足够诚实的朋友来支付他们偷窃的服务器周期,并且这不值得担心。

答案 1 :(得分:1)

不,没有办法做其中任何一个。您最接近的可能是将设备ID存储在中央服务器上。