9

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

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

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

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

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

是否有人知道反 apk-copy 的工作原理,或者是否有类似的开源保护库?

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

原因有很多:

- 避免APK通过未经授权的渠道肆意传播

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

-提高一般安全性

附言

我知道对于每一种保护,总会有一种解决方法来破坏它,但这并不意味着留下非常简单的方法来滥用你的工作总是最好的选择。

4

1 回答 1

2

我认为很难防止有人从设备中复制文件。但是你为什么要实现这个目标?如果您只是出于安全原因,还有其他一些方法。

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

这也可以在android中使用。

  1. 使用 c 和 jni 提供加密/解密 api。(反编译 .so 文件更复杂。)
  2. 将核心打包到 jar 文件中。加密 jar 并将其放入 assets/.
  3. 使用新的 DexClassLoader 替换默认的。尝试解密 .jar 文件并加载类。
于 2012-12-17T06:14:15.383 回答