1

我正在尝试使用无混淆工具来保护我的代码免受逆向工程的影响。我试图混淆提供的示例Basic Example。我找不到如何配置它的问题。

这是我的 config.xml

<configuration>

  <startup><supportedRuntime version="v4.0" 
     sku=".NETFramework,Version=v4.0,Profile=Client"/>
  </startup>

  <Obfuscator>

    <Var name="InPath"  value="C:\Users\user\Desktop\Obfuscar_2.0.0\Examples\BasicExample\BasicExampleExe\bin\Debug" />
    <Var name="OutPath" value="C:\Users\user\Desktop\Obfuscar_2.0.0\Examples\BasicExample\BasicExampleExe\bin\Debug" />

    <Module file="$(InPath)\BasicExampleExe.exe" />
    <Module file="$(InPath)\BasicExampleLibrary.dll" />
    <Var name="KeepPublicApi" value="true" />
    <Var name="HidePrivateApi" value="true" />

  </Obfuscator>

</configuration>
4

1 回答 1

1

我有同样的问题......他们在 Git 中提供的示例 Release.proj 构建文件尝试从头开始构建 Obfuscar 二进制文件。因此,假设您将使用预编译的 Obfuscar 二进制文件,您需要更改 Release.proj 文件的两行。

首先,将路径更改为 ObfuscarExe 路径,以保存二进制文件,如下所示:

<!-- obfuscator bits -->
<PropertyGroup>
        <ObfuscatorExe>C:\Program Files (x86)\Obfuscar\obfuscar.Console.exe</ObfuscatorExe>
        <ObfuscatorProject>$(BasePath)\obfuscar.xml</ObfuscatorProject>
        <ObfuscatorInput>$(BasePath)\Obfuscator_Input</ObfuscatorInput>
        <ObfuscatorOutput>$(BasePath)\Obfuscator_Output</ObfuscatorOutput>
</PropertyGroup>    

二、注释掉编译Obfuscar解决方案的命令:

<ItemGroup>
    <CompileSolution Include="$(BasePath)\BasicExample.sln" />
    <!-- <CompileObfuscar Include="..\..\Obfuscar\Obfuscar.sln" /> -->
</ItemGroup>
于 2015-10-09T18:46:13.963 回答