dnSpy反編譯EXE或DLL

一、地址

1、github地址

https://github.com/cnxy/

https://github.com/0xd4d/dnSpy/releases/download/v6.0.5/dnSpy-net472.zip   
備註:dnSpy-net472.zip 必須安裝 .NET Framework 4.7.2或者更高版本。

2、官網地址

https://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/dnSpy.shtml#download

3、軟件界面如下:
在這裏插入圖片描述

二、首先編寫一個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();
        }

    }
}

三、編譯並運行

在這裏程序內部的str變量爲"Hello World!",現在,需要使用dnSpy工具,將內部str的變量改變並在線調試。
在這裏插入圖片描述

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

①使用dnSpy工具對剛纔生成的ChangeString.exe進行反編譯,如下圖所示:
在這裏插入圖片描述
②在Main函數內右鍵點擊菜單,在彈出的上下文菜單中選擇"編輯方法(C#)",如下圖所示:
在這裏插入圖片描述

③將str變量的內容改爲"Just For Test",並點擊"編譯"按鈕,如下圖所示:
在這裏插入圖片描述
④點擊"全部保存"按鈕,在彈出的界面保持默認值並點擊"確定"按鈕,如下圖所示:
在這裏插入圖片描述

⑤保存完成後,點擊"啓動"按鈕,在彈出的界面保持默認值並點擊"OK"按鈕,接着自動啓動應用程序,如下圖所示:
在這裏插入圖片描述

注意:
編譯時請注意以下事項,否則將不能進行編譯:
①還有其他DLL模塊的,必須把它包含進來;
②如有其他反編譯後有不能識別的字符,請手工修改OK之後再進行編譯。
另外,這個程序不僅對EXE有效,同樣對DLL有效!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章