在做專案的時候,有可能會去接到不知道多解以前寫的專案,原始碼早就不知道丟到哪去了,
所留下的文件也是零零落落,而且最慘的是當初做專案時根本沒有使用版本控制,
反正就是只有剩下DLL檔案,其他什麼都沒有!
另外還有一種狀況是想要看看某些組件是怎麼做的,但是這些組件並沒有開放原始碼。
在之前都會用「.NET Reflector」這個工具來去查看這些組件的原始檔,
但是現在「.NET Reflector」要開始收費了,而且一套標準版的費用就要美金35元,
而且標準版還是只有一般的執行版本,並沒有提供Visual Studio的整合套件,
如果需要Visual Studio的整合套件的話就要美金65元,而且更高的版本更要美金95元!
又不是三不五時都會需要反組譯去看原始碼,所以這個錢就花不太下。
還好有另外兩個功能相近的反組譯工具,可以取代「.NET Reflector」。
1. ILSpy
網址:http://wiki.sharpdevelop.net/ILSpy.ashx
目前版本:Version 1.0 (ILSpy 1.0.0.1000)
注意!這個工具必須要先安裝.NET Framework 4.0
當「.NET Reflector」開始收費之後就有很多人推薦這個工具來取代,而且還有開放原始碼,
檔案下載是一個壓縮檔,解開後會看到下面的檔案:
執行「ILSpt.exe」就可。
上圖就是執行畫面,我們可以載入以.NET所開發並編譯後的DLL檔案來看裡面的原始碼:
甚至也可以開啟在GAC中的組件來看看:
2. Telerik JustDecompile
網址:http://www.telerik.com/products/decompiler.aspx
目前版本:Beta
注意!這個工具必須要先安裝.NET Framework 4.0
雖然目前是在Beta階段,但功能也相當夠用。
要下載之前需要在他們的網站上註冊一組帳號,註冊好並且登入之後就可以下載檔案了。
這個工具不像ILSpy是屬於免安裝,JustDecompile是需要安裝的。
執行畫面:
一開始是空空的,可以使用「Open」來開啟.NET開發並編譯過的DLL檔案,另外也可以載入已安裝的.NET Framework
載入 .NET 4.0 Assembiles
另外也可以設定內容的顏色樣式等
還有很多功能沒有逐一介紹,這就讓大家慢慢去摸索、發掘了。
上面介紹兩個免費的反組譯工具,無論是開發或是學習都可以提供很大的幫助!
以上
沒有留言:
張貼留言