【发布时间】:2012-04-03 11:45:21
【问题描述】:
我正在开发一个需要服务器来完成大部分繁重工作的应用程序。我想防止盗版客户端向该服务器发送请求。有没有办法在请求中发送一些标识符,以便我的服务器可以向 Android Market 询问具有该 ID 的人是否真的购买了该应用程序?我该怎么做呢?
请注意,仅使用 LVL 保护应用程序是行不通的,因为人们可以很容易地编写一个应用程序来与服务器交互,并且仍然提供与付费应用程序相同的功能。
【问题讨论】:
我正在开发一个需要服务器来完成大部分繁重工作的应用程序。我想防止盗版客户端向该服务器发送请求。有没有办法在请求中发送一些标识符,以便我的服务器可以向 Android Market 询问具有该 ID 的人是否真的购买了该应用程序?我该怎么做呢?
请注意,仅使用 LVL 保护应用程序是行不通的,因为人们可以很容易地编写一个应用程序来与服务器交互,并且仍然提供与付费应用程序相同的功能。
【问题讨论】:
首先:您在不受您控制的设备(例如您的 Android 设备)上运行的任何东西都没有 100% 的安全性。
您可以通过多种措施使“虐待”更加困难:
如果您真的想让它变得非常困难,您可以颁发特定于设备的客户端证书(当客户端购买您的应用程序时)并使用基于证书的客户端身份验证(在 SSL 标准中定义) - 您可以使证书无效如果您发现滥用行为对其他设备的合法用户没有伤害,则与该设备相关联...
【讨论】:
摘自这篇帖子Android Game Keeps Getting Hacked我的解决方案
实现您自己的许可库
我还建议您从 Google I/O 2011 YouTube 录制中查看此内容:
Evading Pirates and Stopping Vampires
编辑:
The Presentation Notes from 逃避海盗和阻止吸血鬼
一些基本的关键点
演示说明包含基本示例和修改方向。不过,在 youtube 视频中,讨论了服务器端身份验证以及它与盗版和资产下载等的关系。特别是使用许可证服务器、In App Billing 和 App Engine。 但这是学习的良好基础无论您选择如何处理解决方案。
【讨论】: