最流行的 .NET 反编译工具合集

  

fbd76a8c6edc0f491f8fea668e5b3318.gif



  

  编译和反编译  

.NET 中的编译是把开发人员写的 C# 代码转化为计算机可理解的代码的过程,也就是中间语言代码(IL代码)。在这个过程中,C# 源代码被转换为可执行文件(exe或者dll 文件)。

7985693d3acabc3689dcd012c3aba39c.png

反编译则和编译相反,它是把可执行文件的 IL 代码转换为源代码,这样可以对软件方便进行分析,理解以及修改。

c721dd831ce7e88258fd141f6e7367bf.png

下面是几个流行的 .NET 反编译工具。

  Ildasm.exe  

Ildasm.exe 是一个免费的反编译工具,当您安装了 Visual Studio 开发工具之后,Ildasm.exe 会自动安装。

你可以在下面的目录中找到这个工具。

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin

1a81e3209c6b1b92db0834720937134c.png

  IlSpy .NET  

ILSpy 是一个开源免费的反编译工具, 在 github 上面有 15k 的 star。

可以反编译 C# ,包括整个项目的反编译,并且 ILSpy 支持集成在 Visual Studio 开发工具中。

fb398d34a91ef5e7ba8f77154b2cfec0.png

另外 ILSpy 也上架了微软应用商店。

2d473149deb47a537c9c4bb41ea38d70.png

Github:https://github.com/dnSpy/dnSpy

  DnSpy  

DnSpy 也是一个开源免费的 .NET 反编译工具,支持 C#、VB、F# 代码等,支持 .NET Core 和 .NET Framework。

DnSpy 拥有现代化的 UI 界面,包括蓝色、浅色和深色主题。

b909725e43200e0ffd5ec110de823429.gif

Github: https://github.com/dnSpy/dnSpy

  JetBrains dotPeek  

dotPeek 可以把任何 .NET 程序集反编译为等效的 C# 代码,由 JetBrains 公司开发,软件是免费的并且功能丰富。

fa3a7f614aa0dd666427a76dcf73774e.png

同时 dotPeek 也支持和 Visual Studio 一样的一组颜色主题。

b16d32ea864ee800cfc02ed3fa07662c.png

还可以可视化查看程序集之间的依赖关系。

7a1d338ad3446a6cb529e2ddb3776d45.png您最喜欢使用哪个反编译工具呢?

END

做了一个 .NET 的学习网站,内容涵盖了分布式系统,数据结构与算法,设计模式,操作系统,计算机网络等,以及工作推荐和面试经验分享,欢迎来撩。

回复 dotnet 获取网站地址。

回复 面试题 获取 .NET 面试题。

回复 程序员副业 获取适合程序员的副业指南。

ebc3a19c1eec4e4748b76550fe5bce48.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285043.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ArcGIS Pro微课1000例】0009:ArcGIS Pro地理配准完整教程(建议收藏)

扫描得到的地图数据通常不包含空间参考信息,航片和卫片的位置精度也往往较低,这就需要通过具有较高位置精度的控制点将这些数据匹配到用户指定的地理坐标系中,这个过程称为地理配准。 地理配准即就是通过建立数学函数将栅格数据集(扫描后的图像)中各点的位置与标准空间参…

Intent跳转传list集合

先把List<>改为ArrayList<> ArrayList<Good> listnew ArrayList<Good>(); Intent intent new Intent(MainActivity.this,InfoActivity.class); intent.putExtra("list", list); startActivity(intent); Intent intent get…

Linux中的selinux

#1.selinux内核级加强型防火墙1&#xff09;针对文件&#xff0c;会对系统中每个文件添加安全上下文&#xff08;context&#xff09;2)针对进程&#xff0c;会对系统中的每个进程添加安全上下文&#xff08;context&#xff09;3&#xff09;会在系统服务上设定sebool开关4&am…

C语言试题176之实现归并排序算法

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:实现归并…

三款国产计算机日常办公体验对比

近年来&#xff0c;信创事业开展的如火如荼&#xff0c;多款CPU和操作系统均在机关单位和央企批量应用。目前&#xff0c;信创电脑主要应用场景是日常办公&#xff0c;特别是对机关单位而言&#xff0c;文档、表格、PPT、PDF、浏览器等软件堪称办公必备。下面&#xff0c;我们就…

[转]Flask --- 框架快速入门

From&#xff1a;http://docs.jinkan.org/docs/flask/quickstart.html Flask 用户指南&#xff1a;http://docs.jinkan.org/docs/flask/index.html w3cschool.cn 的 Flask 教程&#xff1a;https://www.w3cschool.cn/flask/ 《Flask Web开发&#xff1a;基于Python的Web应用…

【ArcGIS Pro微课1000例】0010:ArcGIS Pro导入ArcMap样式符号库——以国土三调样式为例

样式是用于存储符号、颜色、配色方案、标注放置和布局项目的容器。 它们可以提升地图、场景和布局的一致性和标准化程度。 您创作地图、场景和布局时所使用的符号库和颜色选取器由存储在样式中的项目填充。 ArcMap、ArcGlobe 或 ArcScene 的桌面样式不能直接在 ArcGIS Pro 中使…

Windows WMIC命令使用详解(附实例)

第一次执行WMIC命令时&#xff0c;Windows首先要安装WMIC&#xff0c;然后显示出WMIC的命令行提示符。在WMIC命令行提示符上&#xff0c;命令以交互的方式执行执行“wmic”命令启动WMIC命令行环境。这个命令可以在XP或 .NET Server的标准命令行解释器&#xff08;cmd.exe&#…

MAC usb启动盘制作

1.从App Store 下载OS 2.磁盘工具格式化磁盘默认即可 3. 为啥截图&#xff0c;因为有些是不一样的&#xff0c;建议使用 Tab建&#xff0c; 未命名则是你移动U盘命名的名称。 4.完成&#xff1a;所有的命令完成的话&#xff0c; 终端界面中会出现 Erasing Disk: 0%...10%...…

【ArcGIS Pro微课1000例】0011:ArcGIS Pro范围内汇总工具的巧妙使用——以甘肃省各地区内河流总长度计算为例

文章目录 问题描述范围内汇总工具介绍# 案例实现问题描述 统计甘肃省各个地区界内河流的总长度,如下图所示。 范围内汇总工具介绍 在ArcMap中可以实现河流总长度的统计,具体操作可以参考:【ArcGIS风暴】ArcGIS获取一个省各个地区界内的河流的总长度–以甘肃省为例,在ArcG…

C语言试题177之实现二分查找算法,折半查找算法

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目: 本实例…

力扣(leetcode)第20题有效的括号(Python)

20.有效的括号 题目链接&#xff1a;20.有效的括号 给定一个只包括 ‘(’&#xff0c;‘)’&#xff0c;‘{’&#xff0c;‘}’&#xff0c;‘[’&#xff0c;‘]’ 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括…

30分钟掌握ES6/ES2015核心内容

2019独角兽企业重金招聘Python工程师标准>>> ECMAScript 6&#xff08;以下简称ES6&#xff09;是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的&#xff0c;所以又称ECMAScript 2015。 也就是说&#xff0c;ES6就是ES2015。 虽然目前并不是所有浏…

Windows 11 22H2 22621.290 和 22622.290 推送

面向 Beta 频道的 Windows 预览体验成员&#xff0c;微软现已推送 Windows 11 预览版 Build 22621.290 和 22622.290。微软宣布 Beta 频道Windows 11 预览版启用全新体验&#xff0c;分为两组进行测试。通过两组 Windows 预览体验成员的使用数据和反馈&#xff0c;以更好的测试…

js数组中的find、filter、sort

准备测试数据 var data [{name:"Jackie",id: "122"}, {name:"Tony2",id: "121"}, {name:"Tony",id: "121"}]; find 查找 返回第一个符合条件的结果 data.find(user>user.id121)--结果 {name: "Tony2&q…

【ArcGIS Pro微课1000例】0012:ArcGIS Pro属性表中文乱码完美解决办法汇总

如图所示,安装完ArcGIS Pro后,由于计算机系统和应用软件字符编码的问题,导致加载矢量数据并打开属性表后,会发现中文字段出现了乱码。 属性表中文乱码: 属性表中文正常: 事实上,ArcMap中也会出现中文属性表乱码的情况。 乱码的出现会给学习和工作带来很大不便,因此本…

C语言试题178之实现分块查找算法,索引顺序查找算法

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目: 例如,…

dubbo中的Filter顺序是如何确定的

2019独角兽企业重金招聘Python工程师标准>>> 服务提供方的过滤器被调用顺序&#xff1a; EchoFilter->ClassLoaderFilter->GenericFilter->ContextFilter->(这4个是在代码中指定的) ExceptionFilter-> TimeoutFilter ->MonitorFilter-> TraceF…

java提示找不到或无法加载主类

背景 默许jdk的配置大家都没有问题&#xff0c;执行java&#xff0c;javac无报错&#xff0c;但今天在尝试在本地起来kafka的时候&#xff0c;提示java 找不到或无法加载主类&#xff0c;然后日志中提示 Files 找不到或无法加载主类&#xff1b;C:\Program 分析 其实很轻松的猜…

Dapr v1.8 正式发布

Dapr是一套开源、可移植的事件驱动型运行时&#xff0c;允许开发人员轻松立足云端与边缘位置运行弹性、微服务、无状态以及有状态等应用程序类型。Dapr能够确保开发人员专注于编写业务逻辑&#xff0c;而不必分神于解决分布式系统难题&#xff0c;由此显著提高生产力并缩短开发…