網頁

2011年9月14日 星期三

.NET反組譯工具:ILSpy, Telerik JustDecompile


在做專案的時候,有可能會去接到不知道多解以前寫的專案,原始碼早就不知道丟到哪去了,

所留下的文件也是零零落落,而且最慘的是當初做專案時根本沒有使用版本控制,

反正就是只有剩下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」開始收費之後就有很多人推薦這個工具來取代,而且還有開放原始碼,

檔案下載是一個壓縮檔,解開後會看到下面的檔案:

image

執行「ILSpt.exe」就可。

image

上圖就是執行畫面,我們可以載入以.NET所開發並編譯後的DLL檔案來看裡面的原始碼:

image

甚至也可以開啟在GAC中的組件來看看:

image

image

 

 

2. Telerik JustDecompile

網址:http://www.telerik.com/products/decompiler.aspx

目前版本:Beta

注意!這個工具必須要先安裝.NET Framework 4.0

雖然目前是在Beta階段,但功能也相當夠用。

要下載之前需要在他們的網站上註冊一組帳號,註冊好並且登入之後就可以下載檔案了。

這個工具不像ILSpy是屬於免安裝,JustDecompile是需要安裝的。

執行畫面:

image

一開始是空空的,可以使用「Open」來開啟.NET開發並編譯過的DLL檔案,另外也可以載入已安裝的.NET Framework

image

載入 .NET 4.0 Assembiles

image

另外也可以設定內容的顏色樣式等

image

還有很多功能沒有逐一介紹,這就讓大家慢慢去摸索、發掘了。

 

上面介紹兩個免費的反組譯工具,無論是開發或是學習都可以提供很大的幫助!

以上

沒有留言:

張貼留言