dnSpy軟件一款非常不錯(cuò)的.net反編譯工具,是一個(gè)調(diào)試器和.NET匯編編輯器。 即使您沒(méi)有任何可用的源代碼,也可以使用它來(lái)編輯和調(diào)試程序集,能在完全沒(méi)有源碼的情況下即時(shí)調(diào)試程序,甚至還能修改程序,有需要的朋友可以下載使用。
dnSpy軟件功能特色
1、無(wú)需設(shè)置
由于它是一個(gè)便攜式工具,它不需要您將其安裝在目標(biāo)計(jì)算機(jī)上,因?yàn)橹恍璨鸢浯鏅n并啟動(dòng)可執(zhí)行文件即可完全訪問(wèn)其功能。
您還可以從可移動(dòng)存儲(chǔ)介質(zhì)(如USB閃存驅(qū)動(dòng)器或外部HDD)運(yùn)行它。此外,它不會(huì)修改系統(tǒng)中的注冊(cè)表項(xiàng),也不會(huì)在您的PC上生成其他文件或文件夾,但未經(jīng)您的明確許可。
2、綜合界面
dnSpy配備了一個(gè)時(shí)尚,全面的用戶界面,包含廣泛的有用功能,它們整齊地組織在主窗口的標(biāo)準(zhǔn)菜單中。
更重要的是,它具有標(biāo)準(zhǔn)配置窗口,您可以在其中調(diào)整各種組件的設(shè)置,如其反編譯器,調(diào)試器或十六進(jìn)制編輯器,但也可以修改顯示或其他參數(shù)。
3、.NET反匯編程序
如果您需要一個(gè)高效的工具,可以通過(guò)為您提供各種有用的工具來(lái)幫助您反編譯.NET程序集,您可以轉(zhuǎn)到dnSpy。它配有一個(gè)反編譯器,一個(gè)調(diào)試器,一個(gè)十六進(jìn)制編輯器和一個(gè)程序集編輯器,讓你以有效的方式處理程序集。
主窗口附帶了一個(gè)Assembly Explorer窗格,您可以在其中訪問(wèn)所需程序集的樹(shù)視圖。您可以通過(guò)從計(jì)算機(jī)指定適當(dāng)?shù)奈募蚴褂?ldquo;從GAC打開(kāi)”選項(xiàng)打開(kāi)程序集,該選項(xiàng)為您提供全局程序集緩存中可用的條目列表。
4、.NET程序集的可靠反向工程工具
所有考慮的事情,dnSpy是一個(gè)方便的應(yīng)用程序,使您能夠以有效的方式逆向工程.NET程序集,為您提供廣泛的有用工具,包括反編譯器,程序集編輯器和調(diào)試器。它不需要安裝,具有全面,平滑的用戶界面,并為您提供了一個(gè)標(biāo)準(zhǔn)配置窗口,您可以在其中調(diào)整各種組件的設(shè)置。
dnSpy軟件使用方法:
1、現(xiàn)在我們來(lái)修改它,修改什么好呢?為了讓效果明顯一點(diǎn),我決定在啟動(dòng)時(shí)彈一個(gè)窗口。于是我們展開(kāi)進(jìn)入到 App 類中。
2、然后在類中右鍵“Edit class (C#)”:
3、在里面重寫 OnStartup 方法。發(fā)現(xiàn),它竟然連智能感知提示都做了!
改完只需要點(diǎn)擊一下右下角的編譯,即可講修改應(yīng)用到我們剛剛打開(kāi)的程序集中。
保存修改的程序集
如果只是修改了可以立刻運(yùn)行,那么充其量只是可以輔助調(diào)試。但是 dnSpy 是可以將程序集另存到本地的。
點(diǎn)擊“File”->“Save Module”:
為了以示區(qū)分,我寫了一個(gè)新的名字:
保存完之后,運(yùn)行:
我們會(huì)發(fā)現(xiàn),我們剛剛新增的對(duì)話框已經(jīng)彈出來(lái)了。“OK”之后原來(lái)的窗口才會(huì)顯示出來(lái)。