首页 > 编程语言 >使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试

时间:2024-09-10 21:52:26浏览次数:3  
标签:Core 反编译 dnSpy dnSpyEx NET 工具

前言

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

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_github

dnSpyEx

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

主要功能

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

工具源代码

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_Core_02

工具下载安装运行

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_程序集_03

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_github_04

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

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_Core_05

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_github_06

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_程序集_07

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_github_08

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

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

测试项目创建

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_程序集_09

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_程序集_10

项目示例代码

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; }
    }
}

找到dll程序集

..TestSample\bin\Debug\net8.0

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_github_11

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

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_Core_12

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_程序集_13

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_Core_14

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_Core_15

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

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_Core_16

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_github_17

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

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_github_18

使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试_github_19

项目源码地址

更多项目实用功能和特性欢迎前往项目开源地址查看

标签:Core,反编译,dnSpy,dnSpyEx,NET,工具
From: https://blog.51cto.com/u_13625604/11973578

相关文章

  • C#/.NET/.NET Core技术前沿周刊 | 第 4 期(2024年9.1-9.8)
    前言C#/.NET/.NETCore技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NETCore领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿,推荐或自荐优质文章/项目/学习资源等。每周一......
  • 探究Adobe Creative Cloud启动危机:dvacore.dll缺失的全方位解决手册
    AdobeCreativeCloud(简称AdobeCC)是一套功能强大的创意应用程序套件,包含如Photoshop、Illustrator等众多专业软件。然而,在使用过程中,有时会遇到因dvacore.dll文件缺失而导致的启动失败问题。本文将深入解析这一问题的原因,并提供一系列解决方案。一、问题原因分析文件损坏或......
  • 【微信小程序反编译】入门1
    原创zkaq-Tobisec掌控安全EDU一、前言这几天在跟着师傅一起学习微信小程序的相关知识点,前面的微信小程序的漏洞挖掘蛮简单的,但是到后面需要黑盒测试了,就需要我们对小程序进行一个反编译,进行一个代码审计相关的知识点了。小程序的反编译相关工具有好几个,下面我给师傅们都......
  • 《足球经理2018》启动失败?深度解析为何《足球经理2018》会报GfxCore.dll错误及解决方
    《足球经理2018》启动失败并报告GfxCore.dll错误是一个常见的问题,这通常与游戏的图形处理相关文件缺失或损坏有关。下面是对这一问题的深度解析及解决方法:深度解析1.文件缺失或损坏:GfxCore.dll是《足球经理2018》及其相关图形处理功能所依赖的动态链接库文件。如果该文件......
  • 【工具推荐】KillWxapkg v2.4(最新版) - 自动化反编译微信小程序,小程序安全评估工具
    工具介绍:纯Golang实现,一个用于自动化反编译微信小程序的工具,小程序安全利器,自动解密,解包,可还原工程目录,支持微信开发者工具运行下载链接:链接:https://pan.quark.cn/s/aa5480be4bd5使用说明工程结构还原还原前还原后微信开发者工具运行......
  • 树莓派安装.netcore8 运行时离线安装
    莓派安装.netcore8运行时离线安装在树莓派上离线安装.NET8运行时的步骤如下:前提条件:确保您的树莓派已安装所需的依赖项,如libicu、libssl等。如果没有,您需要提前下载并离线安装这些依赖项的.deb包。步骤1:确定树莓派的架构使用以下命令检查......
  • Parse error: syntax error, unexpected 'function' (T_FUNCTION) in core\function
    遇到 Parseerror:syntaxerror,unexpected'function'(T_FUNCTION) 的错误,通常是因为PHP代码中存在语法错误。这种错误通常发生在PHP版本不兼容的情况下,或者代码本身有语法问题。分析错误错误信息指出在\core\function\helper.php 文件的第80行出现了语法错误。......
  • NetCore MVC Controller和View之间传递数据
    方式一:使用@Model1.在Controller中定义变量:publicclassMyController:Controller{publicstringMyModelVariable{get;set;}publicIActionResultIndex(){MyModelVariable="Hello,World!";returnView(this);}} ......
  • DAY87 APP 攻防-安卓逆向篇&Smail 语法&反编译签名重打包&Activity 周期&Hook 模块
    1、APK逆向-数据修改-结构&格式2、APK逆向-逻辑修改-Smail语法3、APK逆向-视图修改-Activity&Xml#章节点:1、APP资产-内在提取&外在抓包2、APP逆向-反编译&删验证&重打包3、APP安全-存储&服务&组件&注册等演示案例:ØAPK逆向-数据修改-结构&格式ØA......
  • C#/.NET/.NET Core优质学习资料,干货收藏!
    前言今天大姚给大家分享一些C#/.NET/.NETCore优质学习资料,希望可以帮助到有需要的小伙伴。什么是.NET?.NET是一个免费的、跨平台的、开源开发人员平台,用于构建许多不同类型的应用程序。使用.NET,可以使用多种语言、编辑器和库来构建Web、移动、桌面、游戏和IoT等。一......