如何防止IAP Cracker购买“消费品”?

时间:2012-06-12 19:10:22

标签: ios jailbreak in-app-purchase

我刚刚了解了IAP Cracker的存在,我正试图找出在我的应用中验证IAP购买的最佳方法。

如果IAP Cracker使用“耗材”购买,我无法找到。如果没有,我没有什么可担心的。

这是保护/验证所有购买的一种方法。

http://www.binpress.com/app/inapp-purchase-verification/633#description

感谢您的任何见解!

2 个答案:

答案 0 :(得分:4)

我查看了你展示的链接,但如果我是你,我就不相信。任何了解逆向工程和开发的人都可以轻易绕过这种方法。任何人都可以轻松编写一个黑客,自动为您提供免费内容。

我不知道验证应用内购买的安全方法,因为我没有使用它们,但要记住这一点:无论你做得多么安全,坚定的黑客都可以绕过它。 / p>

答案 1 :(得分:1)

我建议让您的远程服务器进行通信和存储数据。因此,当您通过客户端进行呼叫时,请确保将信息发送到远程服务器,然后客户端收到它的回叫,说“是购买它”。现在,当用户实际尝试使用购买时,他们必须拨打您的远程服务器,以验证进入的数据是否实际可用。

所以说用户购买“10个硬币”,你的客户端将“我需要验证”发送到你的服务器,你的服务器然后将它的消息发送给苹果并得到它的响应(在这种情况下,我们可以说它是'好的去'响应)。然后,您的服务器在其数据库中为用户“*”存储“10个硬币”,并将“购买的10个硬币”返回给客户端。然后,用户使用10个硬币在游戏中进行购买,向远程服务器发送另一条消息,远程服务器检查数据库并查看用户是否有可用的硬币并采取相应的行动。

这是安全的原因: 用户有0个硬币和“伪造”消息说他们想要购买你的物品并在消息中“放置”60个硬币。当远程服务器获取消息时,它检查使用的值(60)对其数据库并且看到用户没有60个硬币,然后它使消息失败。

因此,请在远程服务器上维护所有数据,让客户端进行Web调用以访问用户拥有的内容/数量。通过这种方式,用户可以随心所欲地在客户端上更改数据,但这并不重要,因为远程服务器与数据不匹配,并且会在他们的诡计中出错。

相关问题