尝试混淆 Dot Net Core 应用程序

Trying obfuscating Dot Net Core applications

我正在尝试混淆 Dot Net Core 应用程序,但没有成功。我正在使用 ConfuserEx,设法让它与 Net Framework 一起工作,但在尝试使用 Net Core 控制台应用程序或 Net Core DLL 时没有运气。

我收到错误:

Object reference not set to an instance of an object.

有没有人设法混淆了 Net Core 应用程序?如果没有,还有其他工具可以做到吗?

你可以试试Obfuscar。它是免费和开源的。

二进制文件可以在 https://www.nuget.org/packages/Obfuscar/

加载

项目示例:

<Obfuscator>
  <Var name="InPath" value=".\" />
  <Var name="OutPath" value=".\output" />

  <Var name="HideStrings" value="true" />
  <Var name="UseKoreanNames" value="true" />
  <Var name="ReuseNames" value="true" />
  <Var name="RenameFields" value="true" />
  <Var name="RenameProperties" value="true" />
  <Var name="RenameEvents" value="true" />
  <Var name="OptimizeMethods" value="true" />
  <Var name="SuppressIldasm" value="true" />
  <Var name="KeepPublicApi" value="false" />
  <Var name="HidePrivateApi" value="true" />  

  <Module file="$(InPath)\YourApplication.dll" />
</Obfuscator>

运行 混淆:

  Obfuscar.Console.exe your_project.xml

我在尝试混淆 EXE 文件时看到了这个错误。 DLLs 不会产生此错误。

但我需要补充一点,目前 ConfuserEx 并不真正支持 .NET Core 程序集,因为它不处理元包;所有依赖程序集都必须在主DLL中显式指定,这很麻烦。