最近發現了一個軟件叫 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查看代碼