Android检测盗版/破解应用

mxg*_*mxg 9 android piracy piracy-protection

在iPhone上有几种方法可以检测用户何时打开盗版应用程序的版本.

有没有办法在Android上检测用户何时使用您的应用程序的盗版版本?

Pan*_*mar 11

许可证验证库(LVL)与您的需求类似.

许可服务是一种控制对应用程序访问的安全方法.当应用程序检查许可状态时,市场服务器使用与发布者帐户唯一关联的密钥对来签署许可状态响应.您的应用程序将公钥存储在其已编译的.apk文件中,并使用它来验证许可状态响应.

您通过Android电子市场发布的任何应用都可以使用Android电子市场许可服务.无需特殊帐户或注册.此外,由于该服务不使用专用框架API,因此您可以向使用最低API级别3或更高的任何旧应用程序添加许可.

为了帮助您向应用程序添加许可,Android SDK提供了可以包含在应用程序项目中的库源.许可证验证库(LVL)处理与Android Market客户端和许可服务的所有与许可相关的通信.通过集成LVL,您的应用程序可以通过调用库检查器方法并实现接收状态的回调来确定当前用户的许可状态.

本文档介绍了许可服务的工作原理以及如何将其添加到您的应用程序中.

这里就是一个例子.

这里引用.


小智 5

如果盗版是指该应用程序从合法购买的设备上删除并复制到另一台设备并运行,那么是的,许可证验证库会检测到它并调用您的代码来处理它。

不幸的是,如今盗版站点和点对点网络站点上提供的大多数盗版应用程序都已被反编译,删除了许可证检查并重新编译并使用不同的证书进行了数字签名,因此 LVL 没有用。如果是这种情况,就像我的付费应用程序一样,没有检测到,坦率地说,您对此无能为力。Google 为我们提供了一个平台,让其他人很容易窃取您的知识产权。事实上,这很容易,现在大部分盗窃都是自动化的。这是一颗难以下咽的苦药,在谷歌对此采取行动之前,它还会继续发生。Dalvik Dex 代码可以被其他人反编译编辑、重新编译和数字签名。它在任何形状或形式上都不安全。

  • @Talha 是的,他是对的。任何证书(调试/发布)签名的应用程序都可以反编译。要处理此问题,请将签名存储在服务器上并在启动时验证应用程序的签名。这样您就可以阻止访问。 (2认同)
  • @Talha 是的,同意:) 我认为这是他们让 Android 流行的游戏计划 :D (2认同)