.Net 程序代碼混淆加密工具 ILProtector


我的項目中某一部分信息比較敏感,但是.Net程序反編譯之后連注釋都看得到。需要把exe保護起來,如:代碼混淆之后再加殼。

Bing到一款.Net混淆工具  ILProtector   作為資深工具黨,先"拿來主義"體驗體驗。本篇主要介紹工具使用

1.加密前的exe,反編譯之后什么都有

 

 

 

2.用ILProtector加密,參考官網介紹 http://www.vgrsoft.net/Products/ILProtector

 原理是把.Net的中間語言MSIL代碼 轉換成特殊的代碼,只有他自己可以識別,其他工具如 IL DASM, .NET Reflector, ILSpy, dotPeek 不能夠識別出來,因此達到防逆向目的。

 支持 .NET Framework 2.0, 3.0, 3.5, 4, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2
 支持 Windows x32/x64  

使用也比較簡單,直接拖程序到 Assemblies中,

 

這里會生成兩個DLL到文件夾中,至於dll的名字無所謂寫什么,后面可以使用工具合並成一個exe

 

 

EnableIntegr    設置為True,啟動的時候回檢測程序是否被人修改,如果別人修改了就不能用了。

EncryptStrings  設置為True,否則你的String類型的常量不會被加密

 

 

 

 

 這里是IDE安裝的位置,程序自動檢測的。如果有報錯,來這里看下是否路徑不對

總的來說是傻瓜化操作,托程序進來,填寫輸出路徑,點Process即可

 

 

 

3.看混淆后的結果

 

 

 

 

 

 方法已經是完全看不懂了,常量也被加密碼了,達到了預期效果。

 

 

 官網介紹的一些限制條件:

 C++/CLI混合編碼的程序集、類構造函數、泛型以及__arglist關鍵字方法    可以考慮編碼中避開這些限制。

 

4.寫在最后

世界上沒有最鋒利的矛,也沒有最堅固的盾。靠混淆、加殼等也做不到100%防逆向。客戶端只能是通過手段制造逆向的難度。

安全的思路還是:驗證等邏輯放在服務端處理,只返回給客戶端驗證結果。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM