Dotfuscator 混淆C# .Net代码 netcore

Dotfuscator 使用图解教程

1、打开Dotfuscator程序,选择 Create new Project。

2、点击文件夹图标,添加你要混肴的exe格式的文件。

添加成功后,展开后Libray不要选,否则的话,几乎所有的公共函数变量,不会被加密和混淆,还是可以很容易的看到代码。

3、选择Settings选项,将Disable String Encryption项设置成No,其他项默认即可。

4、点击Rename选项,然后选中Options选项将 Use Enhanced OverLoad Induction 选项,将其设置为 UnPrintable。

5、点击 String Encryption选项,选中你要混肴的文件。

6、点击 Build Project按钮即可。

当点击三角按钮的时候会弹出来一个对话框,选择是,然后随便设置一个名字即可。

7、这个时候你可以在Debug中看一下是否有加密后的文件,如果没有,那么一定是出错了,出错的代码应该如下:

Loading Assemblies...

Could not find a compatible version of ildasm to run on assembly C:UsersHelloDesktopFanBianYiFanBianYiinDebugFanBianYi.exe. This assembly was originally built with .NET Framework v4.0.30319.

Build Error.

要混淆不同的.Net Framework版本需要在Settings项里的 Project Properties中进行配置。需要添加两个文件分别是ILASM_v4.0.30319和ILDASM_v4.0.30319。

 添加 ILASM_v4.0.30319

 

C:WindowsMicrosoft.NETFrameworkv2.0.50727ilasm.exe

添加 ILDASM_v4.0.30319

C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Toolsildasm.exe

8、然后看程序的 Debug文件夹中会多一个Dotfuscated文件夹,Dotfuscated问价夹中会有一个混肴的exe的程序。

9、接下来在反编译中查看编译前后的文件。

没使用混肴工具的exe文件。

使用混肴工具后的exe文件。

End。

加一点:

如果使用了内库之类的第三方工具需要将第三方的 dll input同时进行混淆

 

 编译

效果ILSPY无法反编译

 补充netcore 

netcore 5.0版本(net5)

编译后的版本混淆 测试了以下混淆出现异常

 

 将这两个json文件复制到混淆的文件夹下

json文件 复制进去,混淆后的目录结构

 

运行测试

ILSpy 版本 7.0.0.6225-preview1反编译查看

原文netframework混淆教程

https://www.cnblogs.com/waw/p/8086290.html

原文地址:https://www.cnblogs.com/xyyhcn/p/14191854.html