前言
.NET應(yīng)用如何防止被反編譯?這個(gè)對(duì)于我們.NET開發(fā)而言是一個(gè)值得關(guān)注和重視的問題,防止應(yīng)用程序被反編譯的手段有很多本文我們主要講講如何使用ConfuserEx .NET開源免費(fèi)的代碼混淆工具保護(hù)你的.NET應(yīng)用程序。orj28資訊網(wǎng)——每日最新資訊28at.com
ConfuserEx .NET混淆工具介紹
ConfuserEx是一個(gè)功能強(qiáng)大且廣泛使用的.NET代碼混淆工具。它支持多種混淆技術(shù),包括控制流混淆、字符串加密、資源加密等。它具有靈活的配置選項(xiàng),可以根據(jù)不同的需求進(jìn)行定制。orj28資訊網(wǎng)——每日最新資訊28at.com
注意注意:不足的是目前只支持.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。orj28資訊網(wǎng)——每日最新資訊28at.com
三款免費(fèi)的.NET混淆工具推薦
需要支持.NET Core代碼混淆的工具可以看下面這篇文章中介紹的幾款免費(fèi)工具。orj28資訊網(wǎng)——每日最新資訊28at.com
https://mp.weixin.qq.com/s/hXGRdQjC7NXiGwq84KbEnAorj28資訊網(wǎng)——每日最新資訊28at.com
ConfuserEx .NET混淆工具安裝
- GitHub開源地址:https://github.com/mkaring/ConfuserEx
- 下載地址:https://github.com/mkaring/ConfuserEx/releases
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
ConfuserEx-GUI.zip包解壓即可使用:orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
使用ConfuserEx工具混淆.NET Fx .dll文件
添加需要混淆的.dll文件
將待混淆的.dll文件拖拽進(jìn)中間方框區(qū)域(Drag input modules here),如下圖所示:orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
設(shè)置混淆規(guī)則
選擇Settings項(xiàng),添加混淆規(guī)則,如下圖所示:orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
設(shè)置混淆規(guī)則:Protections選擇anti ildasm,應(yīng)該是防止IL反編譯。因?yàn)镮ldasm.exe是微軟提供的.NET的IL反編譯器。orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
選擇Proect!選項(xiàng)開始混淆
點(diǎn)擊【Protect!】,就開始混淆了,F(xiàn)inished代表混淆完成并成功。orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
混淆成功保存的文件目錄:orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
混淆前后反編譯代碼對(duì)比
混淆之前反編譯結(jié)果:orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
混淆之后反編譯結(jié)果:orj28資訊網(wǎng)——每日最新資訊28at.com
一、用ILSpy無法打開:
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
二、用.NET Reflector反編譯結(jié)果:
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
使用ConfuserEx工具混淆.NET Fx 混淆.exe文件
添加需要混淆的.exe文件
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
選擇Settings選項(xiàng)卡,添加混淆規(guī)則
注意:這里與.dll文件設(shè)置混淆規(guī)則不一樣,需要要設(shè)置Packer,壓縮打包,且不需要編輯規(guī)則。orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
選擇Proect!選項(xiàng)開始混淆
點(diǎn)擊【Protect!】,就開始混淆了,F(xiàn)inished代表混淆完成并成功。orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
ILSpy查看混淆前后的.exe文件對(duì)比
混淆之前:orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
混淆之后:orj28資訊網(wǎng)——每日最新資訊28at.com
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
運(yùn)行混淆后的.exe文件
圖片orj28資訊網(wǎng)——每日最新資訊28at.com
圖片 orj28資訊網(wǎng)——每日最新資訊28at.com
本文鏈接:http://www.tebozhan.com/showinfo-26-75331-0.html使用ConfuserEx代碼混淆工具保護(hù)你的.NET應(yīng)用程序
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com
上一篇: 五個(gè)Rust項(xiàng)目幫助你成為一個(gè)更好的開發(fā)者
下一篇: Java為什么不建議使用Executors來創(chuàng)建線程池呢?