.NET Reflector 2011 2月已經結束提供免費版本,催生了另一個開源的項目ILSpy
大家都知道.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.2”混淆是簡單易用的保護程序集的辦法。推薦使用。