【问题标题】:Obfuscar for Xamarin FormsXamarin 表单的混淆
【发布时间】:2021-02-24 10:48:10
【问题描述】:

我正在使用 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 项目正确配置混淆器方面需要帮助

【问题讨论】:

  • 是否生成混淆日志文件mapping.txt?我没有使用过 Obfuscar,但我使用过类似的工具。该工具将生成混淆报告。如果生成报告,那么只有混淆是成功的。因此,混淆器也可能遵循类似的方法。请检查。

标签: xamarin xamarin.forms xamarin.android visual-studio-mac obfuscar


【解决方案1】:

以下 Obfuscar 配置一切正常

<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="/Users/sahil.khanna/path_to_xamarin_project/Sample.Android/bin/Release" />
    <Var name="OutPath" value="$(InPath)/Obfuscator_Output" />
    <Module file="$(InPath)/Sample.dll" />
</Obfuscator>

奇怪的是,InPathOutPath 在 Mac 上使用的是绝对路径而不是相对路径。我所做的唯一更改是在 InPathOutPath 中使其工作。

【讨论】:

    猜你喜欢
    • 2014-05-06
    • 2016-07-25
    • 1970-01-01
    • 2018-01-13
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多