软件界面如下:
回到目录回到目录
该软件分别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有效,请自行试验,谢谢!
标签:反编译,EXE,编译,回到,DLL,dnSpy,所示,如下,目录 From: https://www.cnblogs.com/bruce1992/p/17220701.html