我在Unity3D中开发了我的第一个Android应用并将其上传到Google Play。我刚刚意识到:有一些服务可以从Google Play下载apk文件。有解压apk文件并从中获取所有源文件的服务。有可能吗?
开发人员如何通过这种方式保护他的应用程序免遭克隆? (我正在使用Unity 3d,所以我不能使用ProGuard)或者它是否有助于我在Unity 3d中进行开发? (如果在Unity中制作解压缩源,可能更难理解)但是,Google Play如何保护应用免受黑客攻击源代码的攻击?
答案 0 :(得分:5)
绝大多数情况下都是可能的。只需拿走你的APK,将其重命名为.zip即可访问内容。浏览文件夹将向您显示(假设您使用Unity)许多Unity资产文件。通过检查,这些从内容中检索内容是相当微不足道的。
遍历文件夹结构,直到找到Assembly-CSharp.dll并将其解压缩。将它转储到像ILSpy这样的东西中,你会发现你的源代码反编译并不容易,但几乎所有命名都会被保留,甚至不会以任何方式混淆。
为了向您提供示例,这是我的代码的一部分
这就是我刚刚从我构建的APK中使用ILSpy检索到的内容
微小的差异,但没有什么会让你感到困惑。
总而言之,默认情况下没有太多保护。有一些方法可以应用混淆,但我自己没有经验,因此无法对实际有用性发表评论。
最重要的是,如果有人真的想要努力提取你已经创造的东西,那么他们可以达到一定程度。因此,如果您想保护自己的工作,那么您必须在其他地方找到解决方案。