最近发现了一个软件叫 DotfuscatorPro 混淆加密工具
设置方式如下
1. Settings->Global Options
Disable String Encryption 设为 NO
Disable Control flow、Dsiable Renaming 也为 NO
2.设置输出目录,一定要指定文件夹,否则会出现-1错误
3.Input 选项里 选择你需要混淆加密的 dll、exe文件,其中Library比较特殊,如果改DLL有受其他引用则要勾上,不然命名空间均会改变,无法应用,如果是EXE 则不要勾,将会生成一堆无法读取的类
4.Rename 选项 在 Option 里面 勾选“use enhanced overload induction”(使用增强模式)
5.String Encryption 选项 include里勾选需要字符串加密的工程文件exe、dll等。
PS:
在混淆的时候报错了,错误描述大致如下:
Could not find a compatible version of ildasm to run on assembly C:\xxx.dll This assembly was originally built with .NET Framework v4.0.30319
要混淆不同的.Net Framework版本需要在Settings,Project Properties,添加配置如下。
其中ILASM和ILDASM后面必需要加上对应版本的版本号,然后文件引用对应的版本文件即可。
.NET 4.5为例子,需设置
ILASM_v4.0.30319
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe
ILDASM_v4.0.30319
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ildasm.exe
设置完后,点击 生成后,用ILSpy查看代码