1. 程式人生 > >強大的.NET反編譯工具Reflector及外掛

強大的.NET反編譯工具Reflector及外掛

 剛接觸.net 時就聽說 Reflector這個強大反編譯工具呢,只是一直沒有去使用他. 今天update跟我說Reflector如何,如何有用,用的如何,如何爽,還得意的說反編譯了不少DLL...本來本人對新鮮事就非常有興趣,聽他這麼一說.決定試一試這個傳說中的工具. 我用的版本是4.1.84.0,以,把自己編寫DLL反編譯了一下,反編譯後的程式碼除了變數名不同外,其它基本上是一至的,我把反編譯後的程式碼導到相關的檔案裡(要用到外掛),再用vs.net編譯,全部通過,真是爽呀.圍繞Reflecto開發的外掛也很非常多,在網搜尋了一下基本到是下面這些,網上關於這些元件的用法和介紹也如出一輒,我想這就樣就是網路共享的結果吧以下的元件其中Reflector.OpenRunningAssembly    Reflector.CodeModelView    Reflector.ClassView 我找過很多網站,都無法下載到,如果有那位朋友有,希望能給我了一份. Reflector.FileDisassembler Reflector.CodeMetrics  Reflector.SQL2005Browser Reflector.DelphiLanguage  Reflector.McppLanguage  Reflector.ChromeLanguage  Reflector.Diff  Reflector.VisualStudio  Reflector.ClassView  Reflector.CodeModelView  Reflector.FileGenerator  Reflector.Graph  Reflector.OpenRunningAssembly 點選file->open  選擇需要反編譯的DLL,開啟後控制元件的名稱空間會出現在左邊的列表中,如上面的dataaccesscommon.點需要反編的類如下面 在右邊會出現該類的程式碼如下圖:
         看到了吧,反編譯後的程式碼和原始碼基本上沒有什麼區別. Reflector本身沒有將程式碼匯入到檔案功能,需要用到相關外掛.下面介紹一個外掛用法及用途. (1)     Reflector.FileDisassembler和Reflector.FileGenerator這兩個外掛的用的用途都是一樣的,將反編譯後的程式碼匯出到相關檔案,我這裡只介紹Reflector.FileDisassemble的用法,Reflector.FileGenerator用法類似Reflector.FileDisassemble 下截地址: http://www.denisbauer.com/Download.aspx?File=Reflector.FileDisassembler.zip (a)      啟動Reflector,點選view---add-ins….. 選擇Reflector.FileDisassembler.dll (下載Reflector. FileDisassembler解壓後有這個檔案)新增成功後,在tools選單中會有file disassembler選項. (b)      選擇需要匯出的類再選擇toolsàfile disassembler 出現以下對話方塊.
(c)      在文字框中,輸入匯出檔案的目錄,然後點選genrate生成檔案. (2)     Reflector.VisualStudio外掛,將Reflector工具嵌入到vs.net裡.下載Reflector.VisualStudio後,將解壓後的檔案和Reflector.exe放在一起,點選Reflector.VisualStudio.exe,即可匯入.這時我們執行vs.net,可以通過選單欄裡的"外部程式- Reflector"執行Reflector. (3)     Reflector.SQL2005Browser 新增方法同(1)該外掛用來檢視SQL Server 2005 (Yukon) database中的儲存集合. 下截地址: http://www.denisbauer.com/Download.aspx?File=Reflector.SQL2005Browser.zip (4)     Reflector.CodeMetrics外掛,新增方法同(1)該外掛用來分析.net assemblies 和顯示該元件的效能引數 (5)     Reflector.Graph外掛新增方法同(1)該外掛用來繪製集合的結構圖. 下截地址: http://projectdistributor.net/GetFile.aspx?type=b&id=56 我這裡只介紹了五個外掛的應用.有什麼說的不對的,大家可以指出. 不過Reflector對那些防反編譯的好像就沒有辦法,僅僅使作這個工具是不行的,還需要更紮實的計算機基礎知識.