源代碼部分加密混淆方案


源代碼部分混淆加密方案

 

背景:項目業務源碼需要開放給甲方,但其中有部分核心代碼需要加密處理。

目的:實現對核心代碼DLL的加密,但不能影響其他模塊對該DLL的引用。

加密工具:DotfuscatorPro_4.9.6

反編譯工具:.Net Reflector  (用於對加密效果進行驗證)

加密步驟:

1.安裝Dotfuscator  加密工具。

比較簡單,點下一步到底。

 

2.打開Dotfuscator,會彈出“select project Type”對話框,選擇“create new project”新建一個項目:

 

3.點擊Input頁卡,將要加密的核心DLL拖入到input Files框中:

 

4.去掉“Library”勾選,其他幾項勾選,如下圖所示:

 

5.點擊“Settings”—“Global Options” ,修改”disable Renaming”為Yes,修改”disable String Encryption”為No。意思是關掉重命名,因為此DLL需要在外部引用,如果公開類和方法名被改了,外部引用會報錯。

 

6.點擊“String Encryption”選項卡,將要加密的dll勾選上:

 

7.選擇加密文件輸出路徑,加密后的DLL將放到此處:

 

8.設置完成,點“Build Project”按鈕執行加密,會先彈出是否保存項目的提示,按需要保存即可,保存后方便下次直接修改加密選項。

 

 

加密效果驗證:

用.Net Reflector工具打開加密后的DLL,可看到公開方法和類名並沒有改變,但核心實現被隱藏。

以下是加密后的DLL,反編譯出來的結果:

 

以下是未加密的DLL,反編譯出來的結果:

 

 


免責聲明!

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



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