解压缩 .apk 文件的能力是否意味着任何人都可以在 playstore 中找到所有专有应用程序的源代码?

Does the ability to decompress .apk files imply that anyone can find the source code of all proprietary applications in the playstore?

我刚刚偶然发现了这个 question。根据答案,很容易从 Playstore(使用他们的 .apk 文件)看到任何专有应用程序的源代码。

那么重视源代码安全的公司如何防止黑客获取应用程序的源代码?

是的,您可以反编译任何您能拿到手的 APK,包括您设备上的任何应用。

So how do companies for whom it is important to secure their source code, prevent hackers from getting their hands on the source code of the applications?

一种保护级别是混淆,它使用语义模糊的名称来掩盖您的 class、方法和变量名称。例如 superSecretVariable 可能会变成 a。在 Android 中,您可以使用 ProGuard.

轻松启用混淆

当然,混淆并不是那么安全。它使您的代码更难阅读,但有决心的人仍然可以弄清楚发生了什么。常量(例如包含 API 键的字符串)也将仍然可见,只是具有一个奇怪的变量名称。

对于需要最高安全级别的代码,解决方案是完全不将其包含在您的应用中。例如,如果您的公司有专有算法,则该算法可以 运行 在您公司控制的服务器上。应用程序将发送必要的输入,服务器将发回输出。

很容易就能看到任何专有应用程序的源代码?是的!

更糟糕的是:更改代码非常容易。 查看 apktool:http://ibotpeaches.github.io/Apktool/