.net程式 混淆、安全、保護、加密

摘要:.net程式 混淆、安全、保護、加密

前幾天 小弟 我寫了一支 動態連結檔

但是發現,網路上 隨邊一隻 反編譯器!就能輕易將VB.NET或C#.NET 寫出來的檔案,完全反編譯

爬了很多文章!

終於知道!有軟體可以讓.NET程式 更安全

大家都知道.net開發的軟件,無論WebForm項目還是WinForm項目,發佈的時候都是編譯成dll或者exe文件。但是我們經常會無論是出於學習還是其他什麼目的,想查看軟件源代碼和解除軟件的某些限制。這時反編譯技術就派上了用場。上面提到的reflector就是這樣一個工具。

他可以把dll或者exe等目標文件反編譯成源代碼。如果目標文件沒有經過混淆、加密等處理,往往反編譯得到的源代碼跟軟件編譯前的源代碼幾乎一模一樣。這樣就為程序的版權、安全等帶來嚴重的隱患。

另外還有個工具ILDASM可以把目標文件反編譯成IL源代碼。然後我們就可以修改IL源代碼,然後再使用ILASM編譯這個IL源代碼,就可以得到一個修改過的目標文件,這個目標文件解除了程序的某些限制,例如時間限制、使用次數限制。

那麼我們如何保護我們的程序不被修改呢?

這兩天實際操作了下編譯、反編譯、混淆。總結如下:

  1. 項目中,增加強簽名。具體操作方法:右鍵單擊項目,選擇屬性,找到簽名選項卡,新建簽名文件,輸入密碼即可。
  2. 項目發佈以後,對dll、exe文件進行混淆,混淆工具:Dotfuscator Professional Edition,如果是混淆web項目,請排除web項目文件的重命名功能。免得aspx文件無法引用dll程序集。同理HttpModule一類的引用也要注意。
  3. 另外如果還不放心,可以對混淆過的文件進行加殼。加殼工具: MaxtoCode.Professional

以上軟提屬於商業軟體!如果需要的網友請自行處理!

通過以上三層保護,應該可以對付一般的破解菜鳥了。本來文章都沒什麼可說的,但是想想還是介紹一下,對沒有接觸混淆的網友應該能有幫助。免得走彎路。

個人自修心得⋯⋯讓更好要學習的人更容易懂