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

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

 

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

以上

沒有留言:

張貼留言

提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。