我刚刚偶然发现了这个问题。根据答案,可以很容易地从playstore(使用他们的.apk文件)中查看任何专有应用程序的源代码。
那么,对那些保护源代码很重要的公司来说,如何防止黑客获取应用程序的源代码呢?
是的,你可以反编译任何你能拿到的APK,包括你设备上的任何应用程序。
那么,对那些保护源代码很重要的公司来说,如何防止黑客获取应用程序的源代码呢?
一个保护级别是模糊处理,它用语义模糊的名称来模糊类、方法和变量名称。例如,superSecretVariable
可能只是变成a
。在Android中,您可以使用ProGuard轻松启用模糊处理。
当然,混淆并不是那么安全。这会使你的代码更难阅读,但有决心的人仍然可以弄清楚发生了什么。常量(例如包含API键的字符串)也仍然可见,只是有一个奇怪的变量名。
对于需要最高安全级别的代码,解决方案是根本不将其包含在应用程序中。例如,如果你的公司有一个专有的算法,该算法可以在你公司控制的服务器上运行。应用程序将发送必要的输入,服务器将发回输出。
是否可以很容易地查看任何专有应用程序的源代码?是的!
更糟糕的是:更改代码非常容易。请参阅apktool:http://ibotpeaches.github.io/Apktool/