.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  .net

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

 

這裏會生成兩個DLL到文件夾中,至於dll的名字無所謂寫什麼,後面可使用工具合併成一個exeblog

 

 

EnableIntegr    設置爲True,啓動的時候回檢測程序是否被人修改,若是別人修改了就不能用了。ip

EncryptStrings  設置爲True,不然你的String類型的常量不會被加密get

 

 

 

 

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

總的來講是傻瓜化操做,託程序進來,填寫輸出路徑,點Process便可

 

 

 

3.看混淆後的結果

 

 

 

 

 

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

 

 

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

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

 

4.寫在最後

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

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

相關文章
相關標籤/搜索