尝试混淆Dot Net Core应用程序

18

我试着混淆一个Dot Net Core应用程序,但是我没有成功。我使用 ConfuserEx,已经在Net Framework上使其工作,但是在尝试将其用于Net Core控制台应用程序或Net Core DLL时没有成功。

我遇到了以下错误:

Object reference not set to an instance of an object.

有人成功混淆了Net Core应用程序吗? 如果没有,是否还有其他工具可以实现?


1
为什么会有踩票?难道这不是与编程有关的问题吗? - lulas
8
我不同意,我有权询问哪些工具对编程有用。 - lulas
3
甚至在导览页面上都有:https://stackoverflow.com/tour 在“询问关于...”部分的第四点,是关于编程工具的。 - lulas
1
您可以询问有关使用编程工具的问题,但是寻找或推荐工具是明确不属于主题的。请阅读[help/on-topic] 中间部分。 - jmoerdyk
2
@jmoerdyk 我不同意,这个人并不是在寻求一个工具。他们是在询问如何对基于 .net 的构件进行操作。我也不完全确定问题是什么,但我确实对这个问题的答案很感兴趣。 - TerribleDev
显示剩余2条评论
2个回答

10
你可以尝试使用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

0
当我试图混淆EXE文件时,我看到了这个错误。 DLL不会产生此错误。但是我需要指出,目前ConfuserEx实际上不支持.NET Core程序集,因为它无法处理元包;所有依赖的程序集必须在主DLL中显式指定,这使得它相当麻烦。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接