C#基礎知識之dnSpy反編譯


dnSpy工具可以在網上自行下載

軟件界面如下:

 

 

 

現在進入話題,首先編寫一個Hello World的控制台運行程序,如下圖所示:

代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ChangeString
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "Hello World!";
            Console.WriteLine(str);
            Console.ReadKey();
        }

    }
}
View Code

 

編譯並運行,如下圖所示:

 

 

在這里程序內部的str變量為“Hello World!”,現在,需要使用dnSpy工具,將內部str的變量改變並在線調試。

使用dnSpy工具對程序進行反編譯:

 ①使用dnSpy工具對剛才生成的ChangeString.exe進行反編譯,如下圖所示:

 

 

②在Main函數內右鍵點擊菜單,在彈出的上下文菜單中選擇“編輯方法(C#)”,如下圖所示:

 

 

③將str變量的內容改為“Just For Test”,並點擊“編譯”按鈕,如下圖所示:

 

 

④點擊“全部保存”按鈕,在彈出的界面保持默認值並點擊“確定”按鈕,如下圖所示:

 

 

⑤保存完成后,點擊“啟動”按鈕,在彈出的界面保持默認值並點擊“OK”按鈕,接着自動啟動應用程序,如下圖所示:

 

 

程序成功地運行!

 

注意:

編譯時請注意以下事項,否則將不能進行編譯:

①還有其他DLL模塊的,必須把它包含進來;

②如有其他反編譯后有不能識別的字符,請手工修改OK之后再進行編譯。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM