使用ConfuserEx代碼混淆工具保護你的.NET應用程序
前言
.NET應用如何防止被反編譯?這個對于我們.NET開發(fā)而言是一個值得關注和重視的問題,防止應用程序被反編譯的手段有很多本文我們主要講講如何使用ConfuserEx .NET開源免費的代碼混淆工具保護你的.NET應用程序。
ConfuserEx .NET混淆工具介紹
ConfuserEx是一個功能強大且廣泛使用的.NET代碼混淆工具。它支持多種混淆技術,包括控制流混淆、字符串加密、資源加密等。它具有靈活的配置選項,可以根據(jù)不同的需求進行定制。
注意注意:不足的是目前只支持.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。
三款免費的.NET混淆工具推薦
需要支持.NET Core代碼混淆的工具可以看下面這篇文章中介紹的幾款免費工具。
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文件拖拽進中間方框區(qū)域(Drag input modules here),如下圖所示:
圖片
設置混淆規(guī)則
選擇Settings項,添加混淆規(guī)則,如下圖所示:
圖片
設置混淆規(guī)則:Protections選擇anti ildasm,應該是防止IL反編譯。因為Ildasm.exe是微軟提供的.NET的IL反編譯器。
圖片
選擇Proect!選項開始混淆
點擊【Protect!】,就開始混淆了,F(xiàn)inished代表混淆完成并成功。
圖片
混淆成功保存的文件目錄:
圖片
混淆前后反編譯代碼對比
混淆之前反編譯結果:
圖片
混淆之后反編譯結果:
一、用ILSpy無法打開:
圖片
二、用.NET Reflector反編譯結果:
圖片
使用ConfuserEx工具混淆.NET Fx 混淆.exe文件
添加需要混淆的.exe文件
圖片
選擇Settings選項卡,添加混淆規(guī)則
注意:這里與.dll文件設置混淆規(guī)則不一樣,需要要設置Packer,壓縮打包,且不需要編輯規(guī)則。
圖片
選擇Proect!選項開始混淆
點擊【Protect!】,就開始混淆了,F(xiàn)inished代表混淆完成并成功。
圖片
ILSpy查看混淆前后的.exe文件對比
混淆之前:
圖片
混淆之后:
圖片
運行混淆后的.exe文件
圖片