通过服务器请求防止 Android 盗版

标签 android security apk

我正在开发一个需要服务器来完成大部分繁重工作的应用程序。我想防止盗版客户端向该服务器发送请求。有没有办法在请求中发送一些标识符,以便我的服务器可以询问 Android Market 是否有该 ID 的人实际购买了该应用程序?我该怎么做?

请注意,仅使用 LVL 保护应用程序是行不通的,因为人们可以相当轻松地编写应用程序来与服务器交互,并且仍然提供与付费应用程序相同的功能。

最佳答案

首先:您在不受您控制的设备(例如您的 Android 设备)上运行的任何内容都没有 100% 的安全性。

您可以通过多种措施使“滥用”变得更加困难:

  • 在有时间限制的成功登录后发出随机 session key (加密安全),以便在经过特定时间后需要进行新登录
  • 为每一次使用后立即失效的每个通信步骤发布一个随机交互 key (加密安全)
  • 当成功登录发生时,终止与该登录之前可能处于 Activity 状态的相同凭据关联的任何其他 session
  • “节流”使用,即限制每分钟/小时或类似的调用次数(根据特定应用程序可能是不可能的)

如果你真的想让它变得非常困难,你可以颁发一个设备特定的客户端证书(当客户端购买你的应用程序时)并使用基于证书的客户端身份验证(在 SSL 标准中定义)——你可以使证书无效如果您看到对其他设备的合法用户没有伤害的滥用行为,则与该设备相关联...

关于通过服务器请求防止 Android 盗版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9992572/

相关文章:

重新启动 MAIN Activity 后,Android moveTaskToBack() 不起作用

android - 所有 ImageView 小部件的自定义样式

带有 Jedis 的 Android 应用程序

android - SetOnClickListener 未针对 TextView 类型进行定义

javascript - AngularJS 在扩展页面中将 URL 更改为 "unsafe:"

python - 拒绝读取Python文件的部分内容

asp.net-mvc - MVC 身份 - 如何注销用户?安全印章?

java - android(Java/XML) 代码中的注释会影响 APK 的大小吗?

android - 解压缩 .apk 文件的能力是否意味着任何人都可以在 Playstore 中找到所有专有应用程序的源代码?

java - 如何在安卓游戏中实现高分保存?