通常,即使在设备中安装 android 应用程序后,也可以获取 .apk 文件。但我可以找到一些应用程序,这些应用程序受到保护,不会获取它们的 .apk 文件。
由于也可以从 .apk 文件中提取代码,我认为开发人员的代码并不安全。谁能告诉我如何防止第三方获取我的 android 应用程序的 .apk 文件?
提前致谢.. :)
通常,即使在设备中安装 android 应用程序后,也可以获取 .apk 文件。但我可以找到一些应用程序,这些应用程序受到保护,不会获取它们的 .apk 文件。
由于也可以从 .apk 文件中提取代码,我认为开发人员的代码并不安全。谁能告诉我如何防止第三方获取我的 android 应用程序的 .apk 文件?
提前致谢.. :)
我正在调查这个问题,并认为我会在这里更新。出于安全原因,建议您在 android 清单文件中进行设置:
android:allowBackup="false"
因此,如果有人尝试进行完整的 adb 系统备份或特别使用它来备份您的应用程序,它将不会进入备份,从而阻止他们从那里提取 apk。我对此进行了测试,它可以工作,即 adb 备份不允许备份我的示例应用程序。
然后我安装了一个用于进行应用程序备份的应用程序(ES 文件资源管理器),不幸的是,它允许为我禁用备份的示例应用程序进行 .apk 备份。这是一个无根设备。这似乎表明在清单中设置此属性不会阻止其他应用程序进行备份。
所以剩下的选择很少:
至于无法获取 APK,我认为您无法真正阻止它,因为最终它只是位于内部存储中某处的文件。只要用户有足够的权限,他就可以提取它。
保护代码。有几个级别的保护,但最终,你无法阻止它如果你什么都不做,代码的逆向工程非常简单。有几种工具可以获得一定程度的安全性。例如,ProGuard,这是一个谷歌的工具,已经内置在大多数 Android IDE 中。
一篇用于代码保护的优秀 SO 帖子: 如何避免对 APK 文件进行逆向工程?