單機遊戲下載單機遊戲下載基地
最新遊戲| 熱門遊戲| 遊戲大全| 遊戲專題
壓縮解壓 光盤工具 文字輸入 殺毒軟件 文件處理 轉換翻譯 股票證券 辦公學習 編程軟件 虛擬光驅
當前位置: 首頁應用軟件編程軟件→ .NET開發中必備的反編譯工具ILSpy V2.3.1 中文綠色版

.NET開發中必備的反編譯工具ILSpyV2.3.1 中文綠色版

  • .NET開發中必備的反編譯工具ILSpy截圖0
< >
.NET開發中必備的反編譯工具ILSpy下載
好玩 好玩 0
坑爹 坑爹 0
  • 應用語言:中文
  • 應用大小:1.9M
  • 更新時間:2015-08-20 11:47
  • 發行時間:
  • 應用類型:普通
  • 應用標簽:反編譯
Reflector是.NET開發中必備的反編譯工具。即使沒有用在反編譯領域,也常常用它來檢查程序集的命名規範,命名空間是否合理,組織類型的方法是否需要改善。舉例說明,它有一個可以查看程序集完整名稱的功能,請看下圖這裏的Name,是標識一個程序集的完整標識 [更多]
應用介紹

Reflector是.NET開發中必備的反編譯工具。即使沒有用在反編譯領域,也常常用它來檢查程序集的命名規範,命名空間是否合理,組織類型的方法是否需要改善。舉例說明,它有一個可以查看程序集完整名稱的功能,請看下圖

這裏的Name,是標識一個程序集的完整標識,當GAC中存在程序集的多個版本時,這個名稱是唯一的識別名稱。

但是,Reflector很早就轉向收費軟件了,需要購買許可才可以使用。對於恥於用盜版的朋友,通常會放棄。有朋友說,Reflector並沒有增加更霸道的功能,卻轉向收費,令人費解。再看看市場上的.NET反編譯軟件,被Reflector擊潰。

一提到Reflector,說到.NET反編譯,Reflector常常是默認的首選工具。

這裏提起一下Visual Studio的壟斷。Visual Studio占據了.NET開發工具係列的絕對壟斷地位。在.NET 1.x時代,還有C# Builder,Delphi.NET來使用和體驗,一爭高低。可是到後來,.NET Framwork更新頻繁,動轍在編譯器級別,和語言層麵做更新,這令第三方的軟件開發工具商非常苦惱,這些工具也從市場上慢慢消聲匿跡,幾乎沒有第三方的軟件開發商願意開發.NET開發工具與Visual Studio一爭高低。沒有了競爭,進步的速度要慢很多。Visual Studio 2008差不多就是Visual Studio 2005+SP的替代品,在工具層麵,Visual Studio 2005 SP1加上了Web Application,就是Visual Studio 2008。雖然說語言層麵是進步了很多,.NET 3.0,.NET 3.5,LINQ, 框架方法增加:WCF,WPF,WF,但是,我一直認識從2005到2008,它在工具層麵沒有什麼進步。

SharpDevelop 是除Visual Studio外,另一個可選擇的唯一的.NET開放工具,並且它是開源的。它提供的功能也相當不錯,幾乎就是在重寫Visual Studio。最新的版本中,直接增加了對Visual Studio的解決方安案文件和項目文件的支持。ILSpy是SharpDevelop小組的反編譯工具,也是開放源代碼的,今天來介紹一下它的調試器和反編譯器,以讓那個收費的,卻沒有增加霸道功能的Reflector out。

ILSpy的界麵與Reflector相似,左邊以樹型控件顯示程序集和它的類型,右邊是對應的源代碼。基礎的反編譯功能,與Reflector相比,絲毫不差,甚至有時候用Reflector無法反編譯(因為加密)的程序集,用ILSpy可以反編譯。

Decompiler 反編譯器

基礎的類型反編譯功能都具備,現在隻支持把源代碼反編譯為C#和IL語言,不支持VB。

當需要找的程序集是.NET框架時,可以直接從菜單File—Open from GAC中打開需要查看源碼的程序集。

代碼保存功能也做得不錯,當點擊一個類型時,選擇File->Save Code會反編譯當前的類型並保存到指定的文件中,當選擇程序集時,Save Code保存為一個項目(csproj)文件,並且把它所有的類型加到這個項目中。

Debugger 調試器

這裏要說的調試器,不是指Visual Studio的源碼級別的調試器,而是指程序集的調試器。Reflector有個Addin,可以直接附加在Visual Studio中,調試第三方的類型庫,而不需要把第三方的類型庫反編譯後,以源碼的形式添加到項目中。

ILSpy也有這個功能,直接對第三方的程序集進行調試,有兩種選項

如果第三方類型庫是可執行程序(EXE),可以用Debug an executable來啟動這個程序。

如果第三方類型庫是程序集(DLL),可以用Attach to running application來附加,以啟動程序集的調試。

從上麵兩張圖中已經可以看出它的用法,和調試源代碼一樣。在需要監視變量值的方法的地方,設置斷點,當程序運行到此時,就可以通過監視窗體來觀察變量的值。從ILSpy的狀態欄中看出,上麵的第一張圖是正處於調試狀態,第二張圖,是準備就緒,可以進行調試。

這兩者的區別是,Attach to a running application調試時,如果代碼經過編譯器優化,則監視器會無法得到它的值。

如圖所示,無法顯示正在調試的變量num的值,因為代碼已經經過優化。官方推薦的方式是Debug an executable


與在Visual Studio中調試.NET源代碼一樣,你可以Step into,Step over,continue,同時狀態欄會顯示就緒(stand by),運行中(running),正在調試(debugging)。

除了調試程序集的C#/VB形式的代碼之外,也可以以IL代碼形式調試,如下圖所示

由此看來,這還是相當不錯的調試IL代碼的工具。工具可以促進學習的效果,學習領悟之後,又可以推進工具的發展,這就是知識的無止境的發展。

ILSpy的debugger是以插件形式存在的,請確保包含ILSpy.Debugger的Plugin。

根據我們的理解,調試.NET程序集一定需要PDB文件才可以。然而ILSpy卻沒有產生PDB文件(no PDB files are generated),而且它不可以調試ASP.NET Web application和Web 服務。
這其中的原理,不甚明白。compiler/debugger一直是我喜愛的技術主題,但學識膚淺,無法分享。

Reflector會檢測到係統時間超過了它預設的時間,如果不升級,它會主動刪除自己,從你的電腦中out掉。如果你對此很煩惱,那就讓它out吧,你可以有另一個選擇,試試ILSpy,或許會帶來一絲的驚喜。

相關應用
    下載地址

    .NET開發中必備的反編譯工具ILSpy V2.3.1 中文綠色版

        熱門評論

        最新評論

        發表評論查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        (您的評論需要經過審核才能顯示)

        配置需求

        推薦專題

        up對戰平台up對戰平台

        關於飛翔|聯係我們|大事記|下載幫助(?)|廣告聯係|版權聲明|網站地圖|友情鏈接

        Copyright 2010-2013單機遊戲下載(R) 版權所有 飛翔下載所有遊戲及軟件下載資源來源互聯網,並由網友上傳分享。如有侵權,請來電來函告之。
        飛翔忠告:抵製不良色情、反動、暴力遊戲 合理安排遊戲時間 享受健康生活【鄂ICP備13011873號-1】