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

反編譯工具:.net 反編譯工具reflector 工具 .NET Reflector插件FileDisassembler

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

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

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

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

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

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

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

我就走了很多彎路。找Dotfuscator Professional Edition 4.3版找了好久,用其他的混淆軟件也摸索了許久,這裏不得不提到一個軟件:Xenocode Postbuild,最新版本是2008,該軟件是非常出名的混淆器。但是我沒有找到好用的下載,有該軟件的朋友請發給我。還有NET Reactor(帶註冊文件)也是一個混淆器,可以混淆.net 2.0以前的版本。

總結:以上提到的兩個方法“強簽名”和“Dotfuscator Professional Edition 4.2”混淆是簡單易用的保護程序集的辦法。推薦使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章