推荐.Net、C# 逆向反编译四大工具利器

article/2025/9/19 17:49:49

转:https://blog.csdn.net/kongwei521/article/details/54927689

在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重的问题,因为相当于版本回退了。还有电脑挂了代码整个都没有,这种情况下 我们只能只能利用一些逆向的技巧和工具了 来解析在服务器发布好的dll。那么你只是单纯的修改一个.Net程序集中的某个方法或功能,而且这个程序集还是出自于你自己或你所在团队之手,这实在是一件非常容易的事情,这和破解别人的程序完全不同,你不会遇到无法破解的加密算法,也不会遇到让人恶心的加壳混淆。所以我要把用过的工具一个个的列出来总结一下。

推荐四大发编译工具

1:.Net Reflector  【收费】

一提起.Net逆向,其实很多人第一反应都是Reflector这款神器,这一方面是由于Reflector良好的用户体验和强大的插件功能,另一方面要归功于Reflector堪称完美的智能反编译能力,使用它不仅能看到反编译后的IL源码甚至能直接反编译出C#源码,而且和编写时的代码几无二致,如果需要还可以直接另存为工程文件用Visual Studio打开,不过现在已经收费了,所以老司机都选择破解版,有钱人选择正版。 破解地址就不在这里放出,大家自行搜索.

使用方法:可以直接把dll、exe拖放到左侧,或者文件选择选择

官方网址:http://www.red-gate.com/products/dotnet-development/reflector/

2:ILSpy/dnSpy 【免费】

ILSpy是唯一免费且开源的.NET反编译器,它基于MIT许可证发布。ILSpy的代码生成和语法高亮功能做的非常好。对于反编译的程序集,它既可以将其保存在一个文件中,也可以为所有文件创建一个项目。ILSpy是一个独立的工具,没有Visual Studio集成。,ILSpy 是为了完全替代收费的Reflector而生,它是由 iCSharpCode 团队出品,这个团队开发了著名的 SharpDevelop 。ILSpy 完全开源,ILSpy的使用和上面的Reflector完全类似,可以直接把dll、exe拖放到左侧,或者文件选择选择。

官方网址:http://ilspy.net/跳转到https://github.com/icsharpcode/ILSpy

ILSPY还有一款同门师弟,感觉比ILSPY还强大

dnSpy is a .NET assembly editor, decompiler, and debugger forked from ILSpy

* Assembly editor
* Decompiler
* Debugger
* Tabs and tab groups
* Themes (blue, dark, light and high contrast)

If you want to help, fork the project and send pull requests.

Latest release: https://github.com/0xd4d/dnSpy/releases

Latest build: 
https://ci.appveyor.com/project/0xd4d/dnspy/build/artifacts


3:JetBrains dotPeek【免费】

JetBrains是捷克的一家软件开发公司,出品了大量著名的开发工具,包括:IntelliJ IDEA、PHPStorm、ReSharper、TeamCity、YouTrack等等,每一款产品都如雷贯耳。dotPeek 是 JetBrains 开发的一款.Net反编译工具,是.Net工具套件中的一个相比于前面几款工具来说,dotPeek算比较小众的一款,它生成的代码质量很高,它还会尝试到源代码服务器上抓取代码。DotPeek的导航功能和快捷键非常便捷。它还能精确查找符号的使用,同时支持插件。DotPeek不能与Visual Studio集成。个人感觉它最大的特色就是Visual Studio风格,这对于那些长期在Visual Studio下进行开发的人来说应该更亲切一点。

官方网址:http://www.jetbrains.com/decompiler/


4:Telerik JustDecompile 【需要输入信息安装】不喜欢这个就卸载了

Telerik JustDecompile是一个免费的.NET反编译器,但是有商业化支持。它生成的代码质量也很高。它可以为反编译程序集得到的代码创建一个项目。JustDecompile提供了健壮的查找功能,能够支持全文查找和符号使用查找。它还有一个插件系统,目前在Telerik的网站上有两个可用的扩展。JustDecompile不能与Visual Studio集成。

官方网址:http://www.telerik.com/products/decompiler.aspx


总结:

使用舒服些如下:

dnSPY>ILSPY>Net Reflector>doPeek

下面是一个dll里面的方法反编译后的对比:



转:https://blog.csdn.net/crisschan/article/details/53170847

dnSpy - 一款 .NET 程序逆向工具

项目地址:https://github.com/0xd4d/dnSpy

项目作者:0xd4d

dnSpy 是一款针对 .NET 程序的逆向工程工具。该项目包含了反编译器,调试器和汇编编辑器等功能组件,而且可以通过自己编写扩展插件的形式轻松实现扩展。该项目使用 dnlib读取和写入程序集,以便处理有混淆代码的程序(比如恶意程序)而不会崩溃。

已发布工具的下载地址:

最新发布:https://github.com/0xd4d/dnSpy/releases

或者通过源码构建该项目,参考 Wiki

特性展示

Edit any method, property or event in C# or Visual Basic

Edit any type (class), method, property, event, field

Add, remove, rename any type (class), method, property, event, field

Edit, add, remove .NET resources and save them to disk

The IL editor allows editing method bodies at the IL level: IL instructions, locals, exception handlers

Debug any .NET assembly, no source code required

Raw contents of locals (eg. decrypted byte arrays) can be saved to disk

Optimizations for smaller screens

Multiple tabs and tab groups

Search assemblies

Assembly analyzer

Highlighted references, keywords, use Tab, Shift+Tab, Ctrl+Shift+Up, Ctrl+Shift+Down to select next or previous reference or Alt+Up/Down for next definition

Structure visualizer adds colorized vertical guide lines between braces; loops, try/catch and conditional blocks are shown in different colors

Structure visualizer is very useful when you're in a method like this:

Go to: Entry Point, Module Initializer, MD Token, MD Table Row

Syntax highlighted tooltips with XML doc comments when hovering over a type (class), method, property, event, field

Background images can be shown in the text editor

Same image with left margin and top margin set to 75%

Export to project decompiles all selected assemblies and creates a Visual Studio solution

Command line decompiler, supports Windows, Linux, Mac

Scripting with C# REPL, control the debugger and other extensions with C#

Hex editor

Metadata editor, click on a token or press Ctrl+Shift+D

该项目的翻译相关

如果你想要帮助翻译 dnSPY 成其它语言,请点击此处。

Wiki

具体命令和编译相关的内容请参考 Wiki 。




http://chatgpt.dhexx.cn/article/njCtJ9lf.shtml

相关文章

某科技js逆向

分析 地址->https://qimingp*.cn/fino*a/project/ 捕获ajax请求,发现返回的数据是加密的,如下图: 打开搜索,定位如下: 经过查找,定位到11058行,如下: 分析代码,发现首…

BUUCTF 逆向工程(reverse)之内涵的软件

用IDA32位打开 一看到这个就是知道这里是获取flag的关键(因为花括号{})。一开始以为是用了某种加密方式需要转换一下。结果它显示的:{49d3c93df25caad81232130f3d2ebfad}这部分就是flag。 所以这题的flag为:flag{49d3c93df25caa…

010Editor逆向分析

主要内容: 010Editor介绍 16进制编辑器:16进制修改、文本修改、模板解析各种文件格式、对比文件 010暴力破解分析 1、找到注册的窗口 2、测试注册窗口的反应 3、根据反应做出下一步分析 猜测API,API下断点动态调试 敏感字符串,程序…

Web前端——CSS伪类和伪元素

CSS伪类: 1.伪类的概念: 可以理解为描述元素的某种状态,用于当已有元素处于的某个状态时,为其添加对应的样式,这个状态是根据用户行为而动态变化的。 2.伪类的语法: 标签:伪类{设置的样式,伪类…

CSS伪类

CSS中伪选择器有两种分别是伪元素选择器和伪类选择器。为了向后续版本兼容,伪元素选择器常用"::"开头,而伪类选择器用“:”开头。本篇主要讲解以下伪类选择器: :first-child:last-childonly-childonly-of-type:nth-child(n)nth-la…

【JavaScript 逆向】AST 技术反混淆

前言 通过浏览器工具可以清楚的看到网站正在运行的 HTML 和 JavaScript 代码,所以对 JavaScript 代码进行混淆处理是一些网站常用的反爬措施,例如下文介绍到的字符串混淆、控制流平坦化等,这使得 JavaScript 的可读性变得很差,难以…

Css预编译神器

最近,有靓仔吐槽在编译css代码时,每次写选择器都会变成CV大神,虽说有CV加持但是呢依然会觉得很麻烦,毕竟手速不像年轻时候那样为所欲为 在这里呢给推荐大家用一款神级插件,也是小编参与完成的轻量级插件–sass&#x…

CSS 伪类

CSS 伪类 CSS 伪类是添加到选择器的关键字,用于指定所选元素的特殊状态。例如,伪类 :hover 可以用于选择一个按钮,当用户的指针悬停在按钮上时,设置此按钮的样式。 举例说明: button:hover {color: blue; }伪类由冒号&#xff…

逆向分析并修改Hello World程序《逆向工程核心原理》《软件逆向工程原理与实践》

文章目录 OllyDbg窗口及快捷键步骤1:VS生成需逆向的文件步骤2:OllyDbg中打开该程序的exe文件,找到需修改的位置步骤3:修改修改1:修改指令修改2:修改字符串修改3:输出任意英文 软件逆向工程原理与…

js逆向案例-css字体反爬

目录 一、反爬点二、反爬分析1、js逆向解密响应参数2、css字体伪元素分析一、反爬点 案例网站响应参数js加密, css字体伪元素隐藏,以及style取值等逻辑判断 二、反爬分析 1、js逆

SQL 结构化查询语言

导读 MySql是我们常用的数据库,javaEE常用几款(Oracle,PostgreSQL,DB2或IBM),SQLite是用于嵌入式设备里的小型数据库,例如Android或IOS,而掌握SQL语句,就相当于掌握了所有的常见关系化数据库,需要同学们重点掌握以及经常复习 MySQL数据库服务器、数据库和表的关系 一般一个项…

《数据库系统》(三) 结构化查询语言

hello大家好,今天我们来学习结构化查询语言。教妹学数据库,没见过这么酷炫的标题吧?“语不惊人死不休”,没错,标题就是这么酷炫。 我的妹妹小埋18岁,校园中女神一般的存在,成绩优异体育万能,个性温柔正直善良。然而,只有我知道,众人眼中光芒万丈的小埋,在过去是一个…

mysql 结构化数据库_【MySQL】——MySQL数据库和SQL结构化查询语言概述

【MySQL】——MySQL数据库和SQL结构化查询语言概述 【MySQL】——MySQL数据库和SQL结构化查询语言概述 文章目录数据库和SQL语言【1】数据库概述 【2】SQL语言 【3】MySQL数据库 【4】启动/停止MySQL服务 【1】数据库概述 数据的传输:数据库 —> Web服务器 —>…

MySQL结构化查询语言

结构化查询语言sql包含以下四部分: 1.DDL //数据定义语言,create,drop,alter 2.DML //数据操作语言,insert,update,delete 3.DQL //数据查询语言,select 4.DCL //数据控制语言,grant,commit,rollback 以下就增删查…

结构化查询语言SQL基本功能及其概念

SQL语法 可以把SQL分为两部分数据操作语言DML和数据定义语言DDL。 SQL(结构化查询语言)有用于执行查询、更新、删除、插入记录的语法。 SQL的DML部分: select-从数据库表中获取数据。insert into-向数据库表中插入数据update-更新数据库表中…

Rasa中文聊天机器人开发指南(3):Core篇

文章目录 1. 对话管理1.1 多轮对话1.2 对话管理 2. Rasa Core2.1 Stories2.2 Domain2.3 Responses2.4 Actions2.5 Policies2.6 Slots2.6.1 Slots Type2.6.2 Slots Set2.6.3 Slots Get 2.7 Form2.8 Interactive Learning 3. 改进ChitChatAssistant项目3.1 config.yml3.2 weather…

Rasa开发使用 Rasa_NLU及Rasa_Core模型训练与测试

文章目录 Rasa术语 Rasa_NLU1. Pipeline2. 准备工作:训练MITIE模型文件3. rasa_nlu 语料4. 训练模型5. 测试验证 Rasa Core1. Stories可视化stories 2. Domain3. 训练对话模型测试对话模型 测试聊天机器人 Rasa Rasa是一个开源机器学习框架,用于构建上下…

浅读Rasa3.2.5源码(rasa train、rasa shell)

目录 浅读Rasa3.2.5源码(rasa train、rasa shell)一、 分析 __main__.py(1). 解析main.py的部分代码(2). rasa常用命令 二、 训练阶段(1). 准备训练数据(2). …

2.rasa架构

rasa架构 消息处理 此图显示了使用Rasa构建的助手如何响应消息的基本步骤: 这些步骤分别是: 1. 收到消息并将其传递给解释器(Interpreter),解释器将其转换为包含原始文本,意图和找到的任何实体的字典。这部分由NLU处理。 2. 跟踪…

Rasa -流程

Rasa入门笔记1 -流程 一、Rasa是什么二、Rasa工作流程 一、Rasa是什么 Rasa是一个nlp开源机器学习框架,用于构建问答与多轮对话机器人。 二、Rasa工作流程 Rasa分为两个模块NLU模块与Core模块,NLU 一>用于提取意图与实体,Core一>用于…