说到.NET相关的反编译工具,大家脑海里第一个想到的是什么?ILSpy、dnSpy、还是dotPeek?今天我们将重点介绍一款名为dnSpyEx的开源.NET程序集反编译、编辑和调试工具。dnSpyEx是dnSpy项目的非官方Fork维护版本,具有强大的功能和灵活的使用方式。
dnSpyEx支持浅色、蓝色和深色主题,可用于调试 .NET Framework、.NET Core 和 Unity 程序集,同时也支持编辑 .NET Framework、.NET 和 Unity 程序集。此外,dnSpyEx还提供多语言支持,包括中文、俄语、德语、法语、意大利语和英语等。
dnSpyEx是一款功能强大的.NET反编译工具和调试器,它可以在没有源代码的情况下编辑和调试程序集。如果您对.NET程序集的反编译和调试有兴趣,dnSpyEx将是您的不二选择。
您可以从以下链接下载dnSpyEx: https://github.com/dnSpyEx/dnSpy/releases
下载完成后,双击
dnSpy
即可运行,无需安装:
接下来,我们将创建一个名为
TestSample
的.NET Core控制台应用,并编写一段简单的对象序列化和反序列化代码示例。
以下是项目示例代码:
using Newtonsoft.Json;
namespace TestSample
{
public class Program
{
static void Main(string[] args)
{
var personList = new List();
personList.Add(new Person { Name = "张三", Age = 30 });
string json = JsonConvert.SerializeObject(personList);
Console.WriteLine("序列化后的 JSON 字符串:");
Console.WriteLine(json);
var deserializedPersonList = JsonConvert.DeserializeObject>(json);
Console.WriteLine("\n反序列化后的对象信息:");
foreach (var item in deserializedPersonList)
{
Console.WriteLine($"Name: {item.Name}, Age: {item.Age}");
}
}
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
}
找到dll程序集的路径:
..TestSample\bin\Debug\net8.0
使用dnSpyEx工具调试程序集中的代码:
您可以利用dnSpyEx工具编辑程序集中的代码,进行更多自定义的操作。