2

通常,即使在设备中安装 android 应用程序后,也可以获取 .apk 文件。但我可以找到一些应用程序,这些应用程序受到保护,不会获取它们的 .apk 文件。

由于也可以从 .apk 文件中提取代码,我认为开发人员的代码并不安全。谁能告诉我如何防止第三方获取我的 android 应用程序的 .apk 文件?

提前致谢.. :)

4

2 回答 2

0

我正在调查这个问题,并认为我会在这里更新。出于安全原因,建议您在 android 清单文件中进行设置:

android:allowBackup="false"

因此,如果有人尝试进行完整的 adb 系统备份或特别使用它来备份您的应用程序,它将不会进入备份,从而阻止他们从那里提取 apk。我对此进行了测试,它可以工作,即 adb 备份不允许备份我的示例应用程序。

然后我安装了一个用于进行应用程序备份的应用程序(ES 文件资源管理器),不幸的是,它允许为我禁用备份的示例应用程序进行 .apk 备份。这是一个无根设备。这似乎表明在清单中设置此属性不会阻止其他应用程序进行备份。

所以剩下的选择很少:

  1. 使用 proguard 和其他最佳实践,让逆向工程变得困难。
  2. 使用 Google Play 以服务形式提供的应用许可密钥,以避免盗版您的应用。
于 2014-05-13T06:11:00.873 回答
0

至于无法获取 APK,我认为您无法真正阻止它,因为最终它只是位于内部存储中某处的文件。只要用户有足够的权限,他就可以提取它。

保护代码。有几个级别的保护,但最终,你无法阻止它如果你什么都不做,代码的逆向工程非常简单。有几种工具可以获得一定程度的安全性。例如,ProGuard,这是一个谷歌的工具,已经内置在大多数 Android IDE 中。

一篇用于代码保护的优秀 SO 帖子: 如何避免对 APK 文件进行逆向工程?

于 2013-10-08T09:38:37.893 回答