本文為原創文章、源代碼為原創代碼,如轉載/複制,請在網頁/代碼處明顯位置标明原文名稱、作者及網址,謝謝!
本文使用的工具下載下傳位址為:
或 dnSpy官方下載下傳位址:
軟體界面如下:

該軟體分别64位版本及32位版本,分别為dnSpy.exe 及 dnSpy-x86.exe,調試時請注意調試所對應軟體版本。
現在進入話題:
一、首先編寫一個Hello World的控制台運作程式,如下圖所示:
代碼如下:
二、編譯并運作,如下圖所示:
在這裡程式内部的str變量為“Hello World!”,現在,需要使用dnSpy工具,将内部str的變量改變并線上調試。
三、使用dnSpy工具對程式進行反編譯:
①使用dnSpy工具對剛才生成的ChangeString.exe進行反編譯,如下圖所示:
②在Main函數内右鍵點選菜單,在彈出的上下文菜單中選擇“編輯方法(C#)”,如下圖所示:
③将str變量的内容改為“Just For Test”,并點選“編譯”按鈕,如下圖所示:
④點選“全部儲存”按鈕,在彈出的界面保持預設值并點選“确定”按鈕,如下圖所示:
⑤儲存完成後,點選“啟動”按鈕,在彈出的界面保持預設值并點選“OK”按鈕,接着自動啟動應用程式,如下圖所示:
程式成功地運作!
注意:
編譯時請注意以下事項,否則将不能進行編譯:
①還有其他DLL子產品的,必須把它包含進來;
②如有其他反編譯後有不能識别的字元,請手工修改OK之後再進行編譯。
另外,這個程式不僅對EXE有效,同樣對DLL有效,請自行試驗,謝謝!