尝试混淆Dot Net Core应用程序

时间:2017-06-29 20:39:15

标签: .net-core obfuscation

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

我收到错误:

Object reference not set to an instance of an object.

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

2 个答案:

答案 0 :(得分:2)

您可以尝试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

答案 1 :(得分:0)

当我尝试混淆 EXE 文件时,我看到了此错误。 DLL 不会产生此错误。

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