ilspy是一款基于.Net平臺的反編輯工具,使用ilspy反編譯工具,可以輕松的反編譯C#及VB程序,軟件本身是C#程序,是一款開源軟件,你可以免費使用它!并且小編提供的版本已經是中文版哦。

ilspy反編譯軟件特色
所有對話框、菜單和提示都是中文化的。
.預設調整插件,支持ILSpy中無源代碼直接調整程序集。
調整主程序編譯平臺為X86,調整為64位系統。
支持C#和vb。
可將dll文件轉換為C#或VB語言。
支持保存文件。
個別文件可保存為.cs文件或.vb文件,文件多時可選擇保存為項目文件。
支持C#的反編譯。
C#語句可以反編譯,支持yieldreturn語句和lambdas表達式反編譯。支持C#5.0中的“async”
ilspy反編譯軟件體驗介紹:
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 服務。
ilspy反編譯軟件更新日志
×基于官方最新版源碼編譯
×所有提示和界面信息均為中文
×IL反編譯模式增加顯示原始文件位置以及原始數據內容