.net程序反編譯工具(ILSpy) 2.3.0.0 正式版

2022-07-12發(fā)布者:lisi大小: 下載:0

文件大小:

軟件介紹

ILSpy是SharpDevelop小組的反編譯工具,ILSPY這個開源工具的目的就是代替reflector的,它可以反編譯出比reflector更好的C#代碼。

image.png

 NET Reflector 2011 2月已經(jīng)結(jié)束提供免費版本,催生了另一個開源的項目ILSpy。
ILSpy需要
支持。
ILSpy與Reflector的比較:
ILSpy的界面與Reflector相似,左邊以樹型控件顯示程序集和它的類型,右邊是對應(yīng)的源代碼。基礎(chǔ)的反編譯功能,與Reflector相比,絲毫不差,甚至有時候用Reflector無法反編譯(因為加密)的程序集,用ILSpy可以反編譯。 
基礎(chǔ)的類型反編譯功能都具備,現(xiàn)在只支持把源代碼反編譯為C#和IL語言,不支持VB。
當需要找的程序集是.NET框架時,可以直接從菜單File―Open from GAC中打開需要查看源碼的程序集。
代碼保存功能也做得不錯,當點擊一個類型時,選擇File->Save Code會反編譯當前的類型并保存到指定的文件中,當選擇程序集時,Save Code保存為一個項目(csproj)文件,并且把它所有的類型加到這個項目中。
這里要說的調(diào)試器,不是指Visual Studio的源碼級別的調(diào)試器,而是指程序集的調(diào)試器。Reflector有個Addin,可以直接附加在Visual Studio中,調(diào)試第三方的類型庫,而不需要把第三方的類型庫反編譯后,以源碼的形式添加到項目中。
ILSpy也有這個功能,直接對第三方的程序集進行調(diào)試,有兩種選項
如果第三方類型庫是可執(zhí)行程序(EXE),可以用Debug an executable來啟動這個程序。
如果第三方類型庫是程序集(DLL),可以用Attach to running application來附加,以啟動程序集的調(diào)試。
從上面兩張圖中已經(jīng)可以看出它的用法,和調(diào)試源代碼一樣。在需要監(jiān)視變量值的方法的地方,設(shè)置斷點,當程序運行到此時,就可以通過監(jiān)視窗體來觀察變量的值。從ILSpy的狀態(tài)欄中看出,上面的第一張圖是正處于調(diào)試狀態(tài),第二張圖,是準備就緒,可以進行調(diào)試。
這兩者的區(qū)別是,Attach to a running application調(diào)試時,如果代碼經(jīng)過編譯器優(yōu)化,則監(jiān)視器會無法得到它的值。
如圖所示,無法顯示正在調(diào)試的變量num的值,因為代碼已經(jīng)經(jīng)過優(yōu)化。官方推薦的方式是Debug an executable
與在Visual Studio中調(diào)試.NET源代碼一樣,你可以Step into,Step over,continue,同時狀態(tài)欄會顯示就緒(stand by),運行中(running),正在調(diào)試(debugging)。
除了調(diào)試程序集的C#/VB形式的代碼之外,也可以以IL代碼形式調(diào)試,如下圖所示
由此看來,這還是相當不錯的調(diào)試IL代碼的工具。工具可以促進學(xué)習(xí)的效果,學(xué)習(xí)領(lǐng)悟之后,又可以推進工具的發(fā)展,這就是知識的無止境的發(fā)展。
ILSpy的debugger是以插件形式存在的,請確保包含ILSpy.Debugger的Plugin。
根據(jù)我們的理解,調(diào)試.NET程序集一定需要PDB文件才可以。然而ILSpy卻沒有產(chǎn)生PDB文件(no PDB files are generated),而且它不可以調(diào)試ASP.NET Web application和Web 服務(wù)。 

發(fā)表評論(共0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)政策法規(guī),評論內(nèi)容只代表網(wǎng)友觀點,發(fā)表審核后顯示!

版權(quán)聲明:

1 本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!

2 本站將不對任何資源負法律責(zé)任,所有資源請在下載后24小時內(nèi)刪除。

3 若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系。

4 如侵犯了您的版權(quán)、商標等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784

返回頂部