在Visual Studio 2017中使用Fody/Costura和Obfuscar

The*_*Guy 10 c# visual-studio fody-costura obfuscar

我想问一下是否可以使用Fody- Costura,它将依赖关系嵌入到可执行文件和Obfuscar中,用于混淆.

目前我正在努力,因为在Visual Studio 2017中Costura的msbuild目标在obfuscar之前执行(然后抱怨缺少依赖文件).

由于obfuscar本身不提供目标,我使用的是MSBuild.Obfuscar.

有没有办法将这两者结合起来,可能是通过指定目标的顺序?

ash*_*ber 2

我制作了一个快速框架控制台应用程序项目,并添加了 Costura、MSBuild.Obfuscar 和 NLog。为了让 Obfuscar 工作,我所要做的就是编辑文件Obfuscar.xml以包含实际的程序集名称:

<?xml version="1.0" encoding="utf-8"?>
<Obfuscator>
  <Var name="InPath" value="bin\Release" />
  <Var name="OutPath" value="$(InPath)\obfuscated" />
  <Var name="HidePrivateApi" value="true" />
  <!-- was: file="$(InPath)\"  -->
  <Module file="$(InPath)\ConsoleApp1.exe" />
</Obfuscator>
Run Code Online (Sandbox Code Playgroud)

这对我来说很好。生成的程序集混淆了我的代码,并且还包含 NLog 作为资源。如果您看到不同的结果,则可能与您的解决方案包含的特定其他 NuGet 包有关。