如何防止轻松提取手机上安装的APK应用

时间:2012-12-17 03:39:31

标签: android copy-protection apk

很容易通过应用程序管理器(例如 Astro )从手机中提取apk应用程序。

Google已经放弃了基础保护,转而支持更有效的许可管理, 然而,旧的保护使得在Google Play市场之外的apk的不加区别的份额变得更加复杂。

LVL 有一个开源库,但我还没有找到任何关于GooglePlay基础反apk复制保护的实现。

除了许可管理保护之外,类似的解决方案也很有用。

我已经看到一些应用程序仍然以与旧版Google Play保护相同的方式阻止了apk副本。

是否有人知道反apk拷贝是如何工作的,或者是否有类似的开源保护库?

有人问过这种操作应该是什么原因。

原因很多:

- 避免通过未经授权的渠道不加区别地传播APK

- 避免使用winzip打开你的APK的第一个菜鸟可以提取所有 资源(如PNG图像,按钮,纹理,数据库等)供他轻松使用

- 改善一般安全性

PS

我知道,对于每一种保护措施,都有一种解决方法可以打破它,但这并不意味着留下非常简单的滥用工作方式始终是最好的选择。

1 个答案:

答案 0 :(得分:2)

我认为很难阻止某人将文件复制出设备。但是你为什么要这样做呢?如果您出于安全考虑,还有其他一些方法。

基本上你可以使用proguard来模糊代码。如果这还不够,我知道在java中,有一种机制可以加密.jar文件并使用自定义ClassLoader来解密文件和加载类。

这也可以在android中使用。

  1. 使用c和jni提供加密/解密api。 (反编译.so文件更复杂。)
  2. 将核心打包到jar文件中。加密jar并将其放入资源/.
  3. 使用新的DexClassLoader替换默认值。尝试解密.jar文件并加载类。