看看stackoverflow上的一些帖子,在写作时,似乎没有办法有效地防止盗版.
这里有人真的从app盗版中亏本吗?对于应用程序破解者,您目前的解决方案(免费或非免费)是什么?
什么是保护企业级应用程序的流行和可靠的解决方案?
如果我将验证卸载到远程服务器,我认为该过程将是这样的:
Android Market Application Remote Server
|--------IN_APP_NOTIFY------->| |
| |-----nonce----->|
| |<----nonce------|
|<-GET_PURCHASE_STATE_CHANGED-| |
|---PURCHASE_STATE_CHANGED--->| |
| |--verification->|
| |<-verification--|
Run Code Online (Sandbox Code Playgroud)
如果我理解正确,那么nonce就是减少重放攻击漏洞,验证是为了减少欺骗漏洞.此外,文档建议卸载安全处理的原因是验证步骤需要访问我的公共Android Market发布者密钥,远程服务器的目标是保持所述密钥不需要在我的代码中包含/计算.
第一个问题,远程服务器是否有安全原因进行nonce生成/检查?按下验证步骤正确完成,我们会从远程服务器中发现消息是否被欺骗.所以在我看来,nonce就是在那里检测某人转播IN_APP_NOTIFY.
第二个问题,为什么我们的公钥是文字字符串?文档说,"你不想让黑客或恶意用户轻易用另一个密钥替换公钥." 我不清楚有人可以利用我的应用程序,即使他们可以编辑二进制文件以包含恶意公钥而无需重新签名应用程序.
第三个问题,我是否会尝试从远程服务器验证验证时遇到所有这些问题(例如,将公钥存储到应用程序中的远程服务器)?
第四个问题,如果我想将这个购买验证的结果存储在手机上,那么所有这些额外的安全性都是徒劳的(即,我不想在用户访问内容时验证解锁内容的购买状态) ?
我目前正在开发一个项目,我需要创建一些架构,框架或任何标准,通过这些标准我可以"至少"增加软件的破解方法,即增加软件安全性.已经有不同的方法来激活软件,包括在线激活,密钥等.我目前正在研究一些研究论文.但是我仍然想讨论很多事情.
有人可以引导我去一些体面的论坛,邮件列表或类似的东西吗?或任何其他帮助将不胜感激.