今天給大家介紹一個開源.net混淆器——ConfuserEx
http://yck1509.github.io/ConfuserEx/
由於項目中要用到.net 混淆器,網上搜尋了很多款,比如Dotfuscator、xeoncode、foxit等等。
但大部分收費,當然也有破解版的,公司要求不能用盜版軟件。
找了半天終於找到了ConfuserEX,用起來還行,就趕緊拿出來給大家分享下。
下載地址:https://github.com/yck1509/ConfuserEx/releases
由於網上中文介紹的比較少,我這里做個測試,給大家演示一下:
本文不提代碼開源,只談代碼混淆方法。
本文使用的代碼混淆器是ConfuserEx,網上可以下載的到。參考博文:開源.net 混淆器ConfuserEx介紹
.Net平台開發的應用程序,大多編譯之后,在bin/Debug目錄下生成很多.dll文件和一個可執行文件.exe。本文就是對這些.dll文件和.exe文件進行混淆,防止反編譯。
ConfuserEx混淆.dll文件和.exe文件方法不盡相同。方法如下:
首先,下載ConfuserEx軟件,打開后如下圖所示:
(一)混淆.dll文件
比如混淆BLL.dll和DAL.dll文件(這是項目中經常編譯出來的文件,它們其實是兩個類庫)
1.混淆.dll文件
將待混淆的.dll文件(單個或多個)拖拽進中間方框區域,如下圖所示:
2.選擇Settings項,添加混淆規則,如下圖:
3.設置混淆規則
Protections選擇anti ildasm,應該是防止IL反編譯。因為Ildasm.exe是微軟提供的.NET的IL反編譯器。
所有的.dll文件都設置好混淆規則后,就可以進行下一步了。
4.選擇Proect!選項
點擊【Protect!】,就開始混淆了。Finished代表混淆完成並成功。
以上混淆.dll文件就完成了。
用ILSpy看一下混淆結果(ILSpy是一個反編譯工具)
用.NET Reflector反編譯結果:
(二)混淆.exe文件
用ConfuserEx工具混淆.exe與混淆.dll文件唯一的不同在設置項(Settings)那里。
1.將待混淆的.exe文件拖拽進中間方框區域,然后選擇Settings選項卡,添加混淆規則。
這里與.dll文件設置混淆規則不同,要設置Packer項,壓縮打包,且不需要編輯規則!
2.選擇Protect!選項卡,點擊【Protect!】
以上混淆.exe文件就完成了。還是通過ILSpy看一下混淆結果
ILSpy反編譯結果:
通過ConfuserEx代碼工具,可以很好的混淆.dll文件和.exe文件,實現代碼保護。