一、地址

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有效!

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐