快捷登錄,享 免費(fèi)下載
首頁(yè) > 軟件列表 > Reflector
Reflector

Reflector

軟件語(yǔ)言:簡(jiǎn)體中文
軟件授權(quán):免費(fèi)軟件
適用系統(tǒng):Windows
創(chuàng)建時(shí)間:2020-12-14
軟件廠商/開發(fā)者信息:獨(dú)立開發(fā)者

誕生

程序集,作為.NET時(shí)代的動(dòng)態(tài)鏈接庫(kù),蘊(yùn)藏了太多的軟件秘密。為此,Visual Studio內(nèi)置的ILDASM成為最初挖掘程序集的上佳工具。但自從Reflector出現(xiàn)后,ILDASM相形見絀。因?yàn)?,Reflector能提供更多的程序集信息,而且是免費(fèi)的工具。

如今,在Visual studio中編譯源代碼(無(wú)論是VB還是C#)時(shí),編譯器都會(huì)將高級(jí)源代碼翻譯成MSIL,即“微軟中間語(yǔ)言”,而不是特定的機(jī)器指令。具有更多安全性、版本控制、共享能力與其它相關(guān)元數(shù)據(jù)的中間語(yǔ)言(IL),是包在一個(gè)或多個(gè)DLL或可執(zhí)行文件中的。

基于ILDASM檢查程序集中的IL有時(shí)很有用,但它要求我們熟悉MSIL。通常,比起IL,大多數(shù)開發(fā)人員對(duì)像C#或Visual Basic這樣的高級(jí)程序設(shè)計(jì)語(yǔ)言更為熟悉。

下載與運(yùn)行

這個(gè)軟件經(jīng)常更新,可以在本詞條提供的擴(kuò)展閱讀提供的鏈接中下載最新的版本?!∧J(rèn)情況下,Reflector會(huì)打開一組公共程序集(mscorlib、System、System.Data、System.Drawing等等)。每個(gè)打開的程序集都列在Reflector的主窗口中。單擊程序集旁邊的+圖標(biāo)可以展開樹結(jié)構(gòu)并展示程序集的命名空間。每個(gè)命名空間旁邊都有一個(gè)相關(guān)的+圖標(biāo),單擊這個(gè)圖標(biāo)將顯示這個(gè)命名空間內(nèi)的類。除此以外,還可以展開每個(gè)類,顯示類的成員:事件、字段、方法與屬性。

要想查看其它程序集(包括我們自己創(chuàng)建的程序集)的細(xì)節(jié),你可以使用菜單命令“File→Open”。然后,瀏覽到想要查看的程序集。只要選擇了有效的.NET程序集,這個(gè)程序集就可以在Reflector的主窗口中與其它默認(rèn)程序集共同顯示。要想從Reflector的主窗口中刪除程序集,只需右擊程序集并選擇“Close”。 提供基本的程序集是Reflector唾手可得的功能,然而,Reflector真正的威力體現(xiàn)在它的反匯編能力。只要瀏覽到類級(jí)的成員,就可以通過(guò)Tools菜單中的Disassembler項(xiàng)(或在該項(xiàng)上單擊右鍵)反匯編此成員。這將打開第二個(gè)窗格,以C#、Visual Basic、Delphi或者IL顯示反匯編后的內(nèi)容。有了Reflector的反編譯功能,要研究.NET框架基類庫(kù)就容易多了。我們完全可以在沒(méi)有源代碼的情況下研究我們所創(chuàng)建或者正在使用的程序集相應(yīng)源代碼。

不用太擔(dān)心,自己的.NET應(yīng)用程序還有其它受保護(hù)措施。但是,想阻止別人查看.NET程序集的IL(繼而反編譯成C#或者Visual Basic)是不可能的,但你可以使用“混淆”技術(shù)使IL變得混亂。目前,市場(chǎng)上有許多.NET混淆產(chǎn)品,比如:PreEmptive Solution的Dotfuscator、WiseOwl的Dmeanor以及Remotesoft的.NET Obfuscator等。

其他功能

除了作為對(duì)象瀏覽器與反匯編器之外,Reflector還可以顯示類與其成員的調(diào)用與被調(diào)用圖、提供單鍵訪問(wèn)Google或MSDN搜索的能力并提供了允許第三方開發(fā)人員為Reflector創(chuàng)建插件的框架。

要查看調(diào)用或被調(diào)用圖,只需要在樹視圖中選擇一個(gè)成員,訪問(wèn)Tools菜單,選擇Call Graph或Callee Graph選項(xiàng)即可。Call Graph會(huì)列出所選項(xiàng)所調(diào)用的成員,而Callee Graph列出調(diào)用所選項(xiàng)的成員。

通過(guò)使用插件,Reflector的功能可以得到進(jìn)一步擴(kuò)展。目前有能顯示程序集依賴圖、自動(dòng)加載當(dāng)前運(yùn)行中的程序集、輸出整個(gè)程序集的反匯編內(nèi)容以及在Visual Studio中作為Reflector的宿主等的插件。還有更多插件都列本詞條擴(kuò)展閱讀中。在此,我極力推薦有興趣的讀者前去一看。

不出乎所料,的確存在一個(gè)Reflector.VisualStudio插件。有了這個(gè)插件,就可以讓Reflector集成在Visual Studio環(huán)境中,進(jìn)而取代以前那個(gè)有些“拙漏”的對(duì)象瀏覽器。

首先,我們需要在機(jī)器上準(zhǔn)備Reflector的最新版,然后下載最新版本的Reflector.VisualStudio插件。據(jù)說(shuō)安裝了此插件之后,Reflector能夠與Visual Studio完美融合。但遺憾的是,有人試下載此軟件并安裝(僅能得到testdriven-2.8.2130 RTM個(gè)人測(cè)試版本,時(shí)間7/30/2007,大小3.3M)后,沒(méi)有大發(fā)現(xiàn)—僅是在VS2005中添加“Go to Reflector”和一個(gè)幫助菜單項(xiàng)。點(diǎn)擊“Go to Reflector”菜單項(xiàng)僅是從VS2005內(nèi)部啟動(dòng)Reflector而已。

Reflector最新版本收費(fèi)

現(xiàn)在打開Reflector的老版本要求強(qiáng)制更新到最新版本,最新版本收費(fèi).現(xiàn)在網(wǎng)上很少有破解版本了。2008年被redgate軟件公司收購(gòu)。Reflector已經(jīng)得到增強(qiáng),截止2011年初,該工具現(xiàn)在可以分為三個(gè)版本(Standard 、VS、VSPro)。用戶可以根據(jù)自己的需求和實(shí)力進(jìn)行購(gòu)買。

版本列表