dnSpy是一款專業(yè)級的.NET 反編譯調(diào)試神器,該項目包含了反編譯器,調(diào)試器和匯編編輯器等功能組件,而且可以通過自己編寫擴(kuò)展插件的形式輕松實現(xiàn)擴(kuò)展。該項目使用 dnlib 讀取和寫入程序集,以便處理有混淆代碼的程序(比如惡意程序)而不會崩潰。有需要的小伙伴歡迎來西西下載體驗。
軟件簡介:
還記得 Spy++ 嗎?在 Win32 時代,這個軟件對于我們分析一個陌生軟件的設(shè)計思路可謂立下汗馬功勞。在如今的 .NET 時代,Reflector 又成為每個嚴(yán)肅的 .NET 開發(fā)人員工具箱中必不可少的精髓工具之一。怎么樣,請趕緊試鋒吧。
同時界面采用 VS 2015 的風(fēng)格,重點是開源的,可以隨便進(jìn)行 DIY。代碼高亮酷炫,實在是逆向神器。
軟件主要功能:
1、程序集編輯
2、反編譯器
3、調(diào)試工具
4、Tabs及tabs分組
5、提供多主題
.net 反編譯工具 Dnspy 開發(fā)人員可以使用它反編譯 .NET 代碼,以了解它是如何工作的,學(xué)習(xí)或指導(dǎo).NET語言的復(fù)雜性,提供一個更好的替代庫的文檔,恢復(fù)丟失或不可用的源代碼,定位性能問題,分析依賴關(guān)系,檢查混淆
支持.NET1.0, 2.0,.NET 3.5,.NET 4.0等
軟件使用指南:
添加系統(tǒng)環(huán)境變量,COMPLUS_ZapDisable = 1
如果需要調(diào)試IIS進(jìn)程,可進(jìn)入C:\Windows\System32\inetsrv目錄執(zhí)行appcmd list wp 查看對應(yīng)的應(yīng)用程序池進(jìn)程ID
打開dnspy,調(diào)試-->附加到進(jìn)程-->選擇相應(yīng)的進(jìn)程ID-->附加
調(diào)試-->窗口-->模塊-->搜索要調(diào)試的程序集-->雙擊
在程序集資源管理器找到要調(diào)試的類打開,打斷點即可
右鍵要修改的類文件-->編輯類/方法-->修改類-->編譯
文件-->保存模塊-->選擇要保存的路徑-->保存
將保存的重新編譯的程序集替換到目標(biāo)路徑即可
執(zhí)行iisreset(若為IIS應(yīng)用)
配置環(huán)境變量
獲取IIS應(yīng)用程序池進(jìn)程ID
附加到進(jìn)程并打斷點
修改代碼,重新編譯并保存模塊
關(guān)于異常捕捉中斷
調(diào)試過程中出現(xiàn)的異常,dnSpy默認(rèn)不會自動中斷的,需要自行設(shè)置異常中斷條件。比如:要捕捉NullReferenceException,那么請打開異常設(shè)置窗口(調(diào)試->窗口->異常設(shè)置)進(jìn)行設(shè)置。