使用ConfuserEx代碼混淆工具保護(hù)你的.NET應(yīng)用程序
前言
.NET應(yīng)用如何防止被反編譯?這個(gè)對(duì)于我們.NET開發(fā)而言是一個(gè)值得關(guān)注和重視的問題,防止應(yīng)用程序被反編譯的手段有很多本文我們主要講講如何使用ConfuserEx .NET開源免費(fèi)的代碼混淆工具保護(hù)你的.NET應(yīng)用程序。
ConfuserEx .NET混淆工具介紹
ConfuserEx是一個(gè)功能強(qiáng)大且廣泛使用的.NET代碼混淆工具。它支持多種混淆技術(shù),包括控制流混淆、字符串加密、資源加密等。它具有靈活的配置選項(xiàng),可以根據(jù)不同的需求進(jìn)行定制。
注意注意:不足的是目前只支持.NET Framework 2.0/3.0/3.5/4.0/4.5/4.6/4.7/4.8,不支持.NET Core代碼混淆,本章.NET版本代碼示例使用的是.NET Fx4.7.2。
三款免費(fèi)的.NET混淆工具推薦
需要支持.NET Core代碼混淆的工具可以看下面這篇文章中介紹的幾款免費(fèi)工具。
https://mp.weixin.qq.com/s/hXGRdQjC7NXiGwq84KbEnA
ConfuserEx .NET混淆工具安裝
- GitHub開源地址:https://github.com/mkaring/ConfuserEx
- 下載地址:https://github.com/mkaring/ConfuserEx/releases
圖片
ConfuserEx-GUI.zip包解壓即可使用:
圖片
圖片
使用ConfuserEx工具混淆.NET Fx .dll文件
添加需要混淆的.dll文件
將待混淆的.dll文件拖拽進(jìn)中間方框區(qū)域(Drag input modules here),如下圖所示:
圖片
設(shè)置混淆規(guī)則
選擇Settings項(xiàng),添加混淆規(guī)則,如下圖所示:
圖片
設(shè)置混淆規(guī)則:Protections選擇anti ildasm,應(yīng)該是防止IL反編譯。因?yàn)镮ldasm.exe是微軟提供的.NET的IL反編譯器。
圖片
選擇Proect!選項(xiàng)開始混淆
點(diǎn)擊【Protect!】,就開始混淆了,F(xiàn)inished代表混淆完成并成功。
圖片
混淆成功保存的文件目錄:
圖片
混淆前后反編譯代碼對(duì)比
混淆之前反編譯結(jié)果:
圖片
混淆之后反編譯結(jié)果:
一、用ILSpy無法打開:
圖片
二、用.NET Reflector反編譯結(jié)果:
圖片
使用ConfuserEx工具混淆.NET Fx 混淆.exe文件
添加需要混淆的.exe文件
圖片
選擇Settings選項(xiàng)卡,添加混淆規(guī)則
注意:這里與.dll文件設(shè)置混淆規(guī)則不一樣,需要要設(shè)置Packer,壓縮打包,且不需要編輯規(guī)則。
圖片
選擇Proect!選項(xiàng)開始混淆
點(diǎn)擊【Protect!】,就開始混淆了,F(xiàn)inished代表混淆完成并成功。
圖片
ILSpy查看混淆前后的.exe文件對(duì)比
混淆之前:
圖片
混淆之后:
圖片
運(yùn)行混淆后的.exe文件
圖片