Xamarin Android 使用"将程序集捆绑到本机代码中"并"obfuscation"



我正在尝试将混淆我的xamarin android项目结合起来,然后将程序集与Visuals Studio 2017 Pro选项捆绑到本机代码中。

我能够通过本教程混淆我的程序集 https://blog.noser.com/xamarin-android-code-obfuscation/

遗憾的是,经过模糊处理的程序集无法进入本机捆绑包。

可能我在错误的地方拦截了构建过程。

<Target Name="Obfuscate" AfterTargets="_CopyIntermediateAssemblies" Condition="'$(Configuration)' == 'Release'">

有谁知道如何将经过混淆的程序集合并到本机捆绑包中?提前感谢帮助。

我帮助开发了另一个.NET混淆/保护工具Dotfuscator。 我们编写了一个 Xamarin 生成集成,该集成在正常生成过程中自动处理保护,因此你不必手动编写自己的 MSBuild 目标或复制文件。 官方 Xamarin 文档建议使用 Dotfuscator 来保护 Android 版本,但此集成也适用于 iOS 和 UWP。

由于Dotfuscator的社区版包含在Visual Studio中,您可以免费试用此集成。 我为 Xamarin 博客写了一篇客座文章,解释了如何做到这一点。

编辑问题中的设置:我做了一些有限的测试,Dotfuscator 在"将程序集捆绑到本机代码"设置下工作正常。我安装了最新版本的Visual Studio 2017 Enterprise版本15.7.2,但发现该版本存在与此设置相关的错误。为了解决它,我使用了该链接中提到的非官方 VSIX 安装。然后,我打开了一个 Dotfuscator-Xamarin 示例应用并启用了本机代码设置。我还向示例添加了代码以显示应用程序使用的类的名称。然后,我将应用部署到模拟器。应用程序正常运行,日志记录语句显示类的模糊名称,指示 Dotfuscator 在将应用程序捆绑到本机代码之前正确保护了应用程序。

最新更新