dnSpy进行反编译修改并编译运行EXE或DLL
dnSpy對目標程序(EXE或DLL)進行反編譯修改并編譯運行
本文為原創文章、源代碼為原創代碼,如轉載/復制,請在網頁/代碼處明顯位置標明原文名稱、作者及網址,謝謝!
本文使用的工具下載地址為:
https://github.com/cnxy/dnSpy/archive/v4.0.0.zip
或 dnSpy官方下載地址:
https://github.com/0xd4d/dnSpy/releases/download/v4.0.0/dnSpy.zip
軟件界面如下:
該軟件分別64位版本及32位版本,分別為dnSpy.exe 及dnSpy-x86.exe,調試時請注意調試所對應軟件版本。
現在進入話題:
一、首先編寫一個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有效,請自行試驗,謝謝!
總結
以上是生活随笔為你收集整理的dnSpy进行反编译修改并编译运行EXE或DLL的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软windows logo配色rgb
- 下一篇: AutoCAD如何设置A0A1图纸