是否可以提取Xamarin Android应用程序的代码并进行检查?
我正处于一个即将在Play商店发布的应用程序的最后阶段。但是,我担心代码是否可以被其他人提取和查看。
请告知,如何从查看代码的其他人那里获取我的应用程序。
答案 0 :(得分:6)
是的,可以提取Xamarin.Android应用程序的代码。默认情况下,.dll
文件只是APK中的资源,可以使用zip实用程序提取它们,并使用例如ILSpy
Xamarin docs解释了如何保护您的申请,包括:
请注意,#3需要企业版许可证,只需将.NET .dll
放在APK的更深层;它仍然可以提取它们并且它们仍然没有被混淆。
请注意,#4明确列为不应在生产中使用的实验性功能。
完全披露:我为PreEmptive Solutions工作,我们制作Dotfuscator。
答案 1 :(得分:3)
您可以选择Ahead Of Time(AOT)编辑。 这不会阻止提取,但会使其变得非常困难。最重要的是,你可以使用 Crypto Obfuscator
答案 2 :(得分:0)
我建议您阅读有关SafetyNet的内容,它提供了一组服务和API,可帮助保护您的应用免受安全威胁,包括设备篡改,错误的网址,可能有害的应用和虚假用户: https://developer.android.com/training/safetynet/index.html
答案 3 :(得分:0)
混淆Xamarin Android应用程序是没有意义的(如果需要,您可以启用“启用ProGuard”选项,但不会混淆代码),最好打开“将程序集嵌入到本机代码”,这将转换所有代码转换为二进制.so文件。而且这将使黑客或逆向工程师很难读取该代码并进行逆向工程AOT,但这是试验性的,在Play商店更新后可能会给某些设备造成问题。为了安全起见,我建议使用“嵌入到本机代码的程序集”