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

Android 如何防止轻松提取手机上安装的APK应用程序,android,copy-protection,apk,Android,Copy Protection,Apk,通过应用程序管理器(如Astro)从手机中提取apk应用程序非常简单 谷歌有一个基础保护,为了更有效的许可证管理,它被放弃了, 然而,旧的保护使apk在Google Play市场之外的不分青红皂白的份额变得更加复杂 LVL有一个开源库,但我还没有找到任何关于GooglePlay base anti-apk拷贝保护实现的信息 除了许可证管理保护之外,类似的解决方案也很有用 我已经看到一些应用程序仍然以旧的Google Play保护的方式阻止apk复制 是否有人知道反apk拷贝是如何工作的,或者是否

通过应用程序管理器(如Astro)从手机中提取apk应用程序非常简单

谷歌有一个基础保护,为了更有效的许可证管理,它被放弃了, 然而,旧的保护使apk在Google Play市场之外的不分青红皂白的份额变得更加复杂

LVL有一个开源库,但我还没有找到任何关于GooglePlay base anti-apk拷贝保护实现的信息

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

我已经看到一些应用程序仍然以旧的Google Play保护的方式阻止apk复制

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

有人问,这种行动的原因应该是什么

原因有很多:

-避免通过未经授权的渠道滥用APK

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

-改善总体安全

PS


我知道,对于每一种保护,总会有一种解决方法来打破它,但这并不意味着,留下非常简单的方法来滥用您的工作始终是最佳选择。我认为很难防止有人将文件复制出设备。但你为什么要做到这一点?如果您只是出于安全原因,那么还有其他一些方法

基本上,您可以使用proguard来隐藏代码。如果这还不够的话,我知道在java中,有一种机制可以加密.jar文件并使用自定义类加载器解密文件并加载类

这也可以在android中使用

  • 使用c和jni提供加密/解密API。(反编译。因此文件更复杂。)
  • 将核心打包到jar文件中。加密jar并将其放入assets/中
  • 使用新的DexClassLoader替换默认的。尝试解密.jar文件并加载类

  • 我对我的问题做了澄清是的,没有任何完美的保护。我们能做的就是让它更难打破。如果花在黑客上的时间太长而不能容忍,我认为这是安全的。有更新吗?我看到最近安装的应用程序无法使用ES file manager Astro和类似程序进行备份。。。我怎样才能使用类似的保护?