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混淆教程