应用内购买可以防止软件盗版吗

2023-12-27

我意识到如果开发者在 Google Android Market 中发布付费应用程序。很快,付费应用程序将通过其他 Android Market 免费分发。当谈到中国市场时,盗版问题尤其严重。例如,我的水在哪里(中文) http://www.wandoujia.com/apps/com.disney.WMW

我想知道,应用内购买可以防止此类盗版问题吗?

通过应用内购买购买额外物品

  1. 用户通过应用内购买购买额外的物品。
  2. 密钥是根据用户偏好编写的。密钥是根据应用内购买期间使用的用户 Google 帐户生成的。我们不使用硬件ID的原因是,我们希望同一用户能够享受应用内购买项目,即使他正在使用其他设备。

使用密钥验证

  1. 因此,当用户倾向于使用附加项目时,总是会进行验证。即使用户将密钥分发给其他人,也不起作用。因为密钥仅对特定用户有效。

我想知道,这是否是打击 Android 应用盗版问题的常见做法之一?因为我没有看到太多关于这项技术的讨论。不确定我是否错过了任何陷阱?


类似的东西:)

这很大程度上取决于应用内购买的类型:如果是从您的服务器下载的内容(图像、视频等),您可以在服务器上进行检查,除非有人入侵您的服务器,否则几乎不可能欺骗。

要添加/启用应用程序中已有的功能,您需要将他们购买的商品列表保存在某处,以便您的应用程序知道要启用哪些功能。如果您只是将其保存到文件/共享/首选项/数据库中,那么有人可以简单地编辑这些内容(当然,在 root 设备上)并添加他们想要的任何项目。因此,您需要混淆项目缓存,使其更难修改。一种方法是在磁盘上对其进行加密并在应用程序中进行解密。如果您对所有设备使用相同的密钥,则只需将文件/数据库复制到另一台设备即可启用功能而无需付费,这将是微不足道的。这就是为什么您需要从特定设备的特定信息(MAC 地址、ANDROID_ID 等)中获取密钥。如果可以使用 Google 帐户来派生密钥,但您需要向 AccountManager 检查用户是否确实在其设备上注册了此帐户(这需要额外的权限)。

至于使用硬件 ID,项目/订阅与用户 Google 帐户绑定,因此您可以在任何设备上使用 RESTORE_TRANSACTIONS 来获取购买的项目。使用硬件 ID 来混淆项目缓存不是问题,因为它仅用于在磁盘上存储内容,而不是获取购买状态,因此不会阻止用户在多个设备上使用该应用程序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

应用内购买可以防止软件盗版吗 的相关文章

随机推荐