我正在使用 Visual Studio for Mac(社区版)开发 Xamarin.Forms 应用程序。我能够使用ILSpy反编译 Android 应用程序的源代码
为了混淆源代码,我使用了 Obfuscar并按照https://docs.obfuscar.com/tutorials/xamarin.html中的步骤进行操作
- 下面是 Xamarin.Android 项目结构
- 下面是里面的配置
obfuscar.xml
<Obfuscator>
<Var name="RenameProperties" value="true" />
<Var name="RenameEvents" value="true" />
<Var name="RenameFields" value="true" />
<Var name="KeepPublicApi" value="false" />
<Var name="HidePrivateApi" value="true" />
<Var name="HideStrings" value="true" />
<Var name="UseUnicodeNames" value="true" />
<Var name="OptimizeMethods" value="true" />
<Var name="InPath" value="./bin/Release" />
<Var name="OutPath" value="./bin/Release/Obfuscator_Output" />
<Module file="$(InPath)/Sample.dll" />
</Obfuscator>
- 以下更改在 Android.csproj 中完成
当项目以Release
存档和反编译模式构建时,使用 ILSpy 仍可以以纯文本形式看到源代码。
我需要帮助为 Xamarin.Forms 项目正确配置混淆器