本文不提代碼開源,隻談代碼混淆方法。
本文使用的代碼混淆器是ConfuserEx,網上可以下載下傳的到。參考博文:開源.net 混淆器ConfuserEx介紹
.Net平台開發的應用程式,大多編譯之後,在bin/Debug目錄下生成很多.dll檔案和一個可執行檔案.exe。本文就是對這些.dll檔案和.exe檔案進行混淆,防止反編譯。
ConfuserEx混淆.dll檔案和.exe檔案方法不盡相同。方法如下:
首先,下載下傳ConfuserEx軟體,打開後如下圖所示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0NXYFhGd192UvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2Lc1TPB1UMrNTW1ZUbUZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DM3IzN1YTM3EjMyITM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
(一)混淆.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檔案,實作代碼保護。