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