如何对抗APK提取器

How to fight against APK extractor

我开发了这个应用程序并通过 USB 发布给用户。但我想阻止他们提取 APK 并将其安装到其他手机上。

目前,我在应用程序启动时进行了 APK 签名签名检查,如果它与我的不匹配,则会阻止它 运行。但这并不能阻止那些 APK 提取器应用程序,例如这个应用程序。 https://play.google.com/store/apps/details?id=com.ext.ui&hl=en

我检查了提取的APK,它和我原来的签名一样!有没有其他方法可以阻止它?

我的应用程序是一个独立的应用程序,因此它没有可与之通信的服务器...谢谢!

免责声明!您无法 100% 保护您的应用程序,但您可以尝试以下方法:

Google Play 许可和许可验证库 (LVL) 此服务允许您的应用查询 Google Play 许可服务器以确定当前 运行 设备是否被记录为购买者。

More info

混淆 消除逆向工程的所有机会,这是一种从您的应用程序生成 apk 的方法。

More info

复制保护

尽管在某些平台上(最值得注意的是 Android),版权保护已被许可所取代,但它是抵御更多敷衍性盗版企图的简单方法。

数字版权管理 (DRM) 可以内置到应用程序本身中,成为将其上传到的应用程序商店的一部分(例如亚马逊 DRM),或者作为第三方付费 DRM 服务的一部分购买。

一般来说,您无法阻止您的应用程序从设备中提取出来。此外,您的任何用户都可以简单地将检索到的 APK 文件上传到网上的某个地方。

因此,您只能保护您的应用不被 "the wrong people" 使用。我看到了两种可能的解决方案:

加密狗到特定设备的版本

很多共享软件的原理你都知道:安装app后需要输入授权码激活。许可证代码是您在收到某种设备指纹后生成的,应用程序会检查许可证是否对该特定设备有效。

嵌入一个水印,让您可以识别谁泄露了 APK

这需要为每个合法用户创建唯一的 APK 文件。