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