​一款开源的 .NET 程序集反编译、编辑和调试神器

开发
本文的主要内容是讲讲dnSpyEx(dnSpyEx是dnSpy项目的非官方Fork维护版本)这个开源的.NET程序集反编译、编辑和调试工具该如何使用。

前言

说到.NET相关的反编译工具大家脑海里第一个想到的工具是什么?ILSpy、dnSpy、还是dotPeek?咱们今天的主要内容是讲讲dnSpyEx(dnSpyEx是dnSpy项目的非官方Fork维护版本)这个开源的.NET程序集反编译、编辑和调试工具该如何使用。

dnSpyEx

dnSpyEx是dnSpy(该代码库已于2020年12月21日被所有者归档为只读状态)项目的非官方Fork维护版本,一款开源、功能强大的.NET反编译工具和调试器,可用于在没有源代码的情况下编辑和调试程序集。

主要功能

  • 支持浅色、蓝色和深色主题。
  • 支持调试 .NET Framework、.NET Core 和 Unity 程序集。
  • 支持编辑 .NET Framework、.NET 和 Unity 程序集。
  • 支持多语言(中文、俄语、德语、法语、意大利语、英语等)。

工具源代码

工具下载安装运行

https://github.com/dnSpyEx/dnSpy/releases

下载完成后,双击dnSpy即可运行无需安装:

创建测试项目并编译成dll程序集

下面我们创建一个名为TestSample的.NET Core控制台应用,然后写上一段简单的对象序列化和反序列化代码示例。

(1) 测试项目创建

(2) 项目示例代码

using Newtonsoft.Json;

namespace TestSample
{
    public class Program
    {
        static void Main(string[] args)
        {
            var personList = new List<Person>();
            personList.Add(new Person { Name = "张三", Age = 30 });

            string json = JsonConvert.SerializeObject(personList);

            Console.WriteLine("序列化后的 JSON 字符串:");
            Console.WriteLine(json);

            var deserializedPersonList = JsonConvert.DeserializeObject<List<Person>>(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; }
    }
}

(3) 找到dll程序集

..TestSample\bin\Debug\net8.0

使用工具调试程序集中的代码

使用工具编辑程序集中的代码

使用工具编辑程序集中的IL指令

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看,别忘了给项目一个Star支持。

  • dnSpyEx:https://github.com/dnSpyEx/dnSpy
  • dnSpy:https://github.com/dnSpy/dnSpy
责任编辑:赵宁宁 来源: 追逐时光者
相关推荐

2014-09-25 10:28:02

反编译工具Java

2023-09-06 08:19:53

2023-06-08 08:46:37

Motrix下载工具

2022-10-09 10:11:30

Python爬虫神器

2024-03-06 08:26:29

2020-08-28 10:40:13

PythonFaker数据

2022-04-14 11:09:17

开源项目搜索

2020-05-26 14:15:09

开源网盘 免费

2020-12-18 08:38:22

开源前端mitojs

2019-02-25 10:18:43

工具代码测试

2021-07-23 16:50:19

httpJava框架

2021-11-24 09:12:11

Markdown编辑器Linux

2024-08-16 08:31:05

2021-06-16 11:25:59

备份命令开源

2021-04-27 09:00:59

PythonAidLearning编程神器

2023-10-08 07:51:07

HInvoke项目函数

2023-09-13 13:32:04

数据库开源

2022-04-20 09:26:08

Mock前端开发工具

2016-02-15 11:44:23

源码开源项目watch

2014-01-13 15:00:51

InxiLinux硬件
点赞
收藏

51CTO技术栈公众号