我正在尝试混淆Dot Net Core应用程序,但我没有成功。我正在使用ConfuserEx,设法使其与Net Framework一起使用,但在使用Net Core控制台应用程序或Net Core DLL进行试用时没有运气。
我收到错误:
Object reference not set to an instance of an object.
有没有人设法混淆Net Core应用程序?如果没有,还有其他工具可以做到吗?
答案 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中明确指定,这很麻烦。