gpt4 book ai didi

c# - Xamarin 项目中的混淆

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:39:59 26 4
gpt4 key购买 nike

如您所知,Xamarin 项目被编译成 dot net dll 程序集,它将被打包到 apk 文件中,并且可以很容易地被 DotPeek 等反射器反射。

我的第一个问题是:我们如何保护我们的代码?

我的第二个问题是:SmartAssembly 等混淆器工具是否可用于 Xamarin 项目或 Xamarin 项目不支持它们?

最佳答案

保护 APK 的 .NET 代码 (.DLLS) 的最佳方法是启用 Ahead Of Time (AOT) 编译:

enter image description here

AOT 编译会将您的应用程序 IL 代码 (.dll) 编译成 native 指令。打包到 APK 中的最终代码是 X86、arm 等指令,而不是托管 IL 代码。

AOT 编译仅适用于企业版和更高版本的许可。

虽然AOT增加了逆向工程的难度,但仍然不是100%万无一失。最终的二进制文件仍然可以从获得 root 权限的设备中提取出来,并使用像 IDA pro 这样的软件进行逆向工程。这比使用 DotPeek 困难得多,但仍有可能。

注意启用 AOT 编译的缺点也很重要。应用程序构建时间显着增加,因为您的应用程序引用的每个程序集都需要编译;我的经验表明,启用 AOT 后,构建时间应该会增加 200%-300%。

此外,AOT 编译会增加最终 APK 的大小。

关于c# - Xamarin 项目中的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36423030/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com