.net反编译工具
外再提供一些Reflector的相关插件下载,enjoy!!!!
Reflector.FileDisassembler This add-in can be used to dump the disassembler output to files for any Reflector supported language. Website Download
|
Reflector.CodeMetrics Analyses .NET assemblies and shows design quality metrics. The menu item is registered under the "Tools" menu. Website Download
|
Reflector.SQL2005Browser This add-in allows to browse .NET assemblies stored in SQL Server 2005 (Yukon) databases. Website Download
|
Reflector.DelphiLanguage The Delphi view that is used inside .NET Reflector provided as a language add-in. Website Download
|
Reflector.McppLanguage This add-in extends Reflector with a Managed C++ language rendering module. Website Download
|
Reflector.ChromeLanguage This add-in extends Reflector with a Chrome language rendering module. Website Download
|
Reflector.Diff This add-in shows differences between two versions of the same assembly. Website Download
|
Reflector.VisualStudio This program is hosting .NET Reflector inside the Visual Studio 2003 IDE. Run Reflector.VisualStudio.exe to register the add-in with Visual Studio. Website Download
|
Reflector.ClassView Shows class definitions as plain text with color coding. The menu item is registered under the "Tools" menu. Website Download
|
Reflector.CodeModelView This add-in shows the underlying code model objects for a selected node in .NET Reflector. The menu item is registered under the "Tools" menu. Website Download
|
Reflector.FileGenerator This add-in can be used to dump the disassembler output to files for any Reflector supported language. Download
|
Reflector.Graph This add-in draws assembly dependency graphs and IL graphs. Website Download
|
Reflector.OpenRunningAssembly Opens an assembly or dependency from a process running on the system. The menu item is registered under the "Tools" menu. Website Download |
插件FileGenerator 使用方法:
最开始下载了FileGenerator插件不知如何使用,后来经过摸索,还是学会使用了,所以拿来和大家分享。
FileGenerator插件的作用是:根据dll文件,把里面的源文件导出成文件,导出来的文件除了没有注释,变量名也变了,其它的可谓是没有 差别。对于一些比较好的控件,如果不是开源的,完全可以导出成文件,然后自己加上注释,少许修改,很好的利用起来。(不开源的dll,用起来也不放心啊)
先根据上面的地址下载FileGenerator并解压缩,然后运行Reflector.exe,然后点击View->Add- Ins...,弹出一个窗口,然后点击Add->选择FileGenerator里面的唯一一个dll文件: "FileGenerator.dll",点击close.
然后回到Reflector窗口,Tool->Generator File(s)... 右边就出现了插件的窗口,选中左边的dll文件,点击右边的导出文件,源代码就全部导出来了,真是爽啊!
使用.NET Reflector插件FileDisassembler还原源码
.NET Reflector,它是一个类浏览器和反编译器,可以分析程序集并向您展示它的所有秘密。.NET 框架向全世界引入了可用来分析任何基于 .NET 的代码(无论它是单个类还是完整的程序集)的反射概念。反射还可以用来检索有关特定程序集中包含的各种类、方法和属性的信息。使用 .NET Reflector,您可以浏览程序集的类和方法,可以分析由这些类和方法生成的 Microsoft 中间语言 (MSIL),并且可以反编译这些类和方法并查看 C# 或 Visual Basic ?.NET 中的等价类和方法。
为了演示 .NET Reflector 的工作方式,我将加载和分析前面已经显示的 NUnitExample 程序集。下图显示了 .NET Reflector 中加载的该程序集。
在 .NET Reflector 内部,有各种可用来进一步分析该程序集的工具。要查看构成某个方法的 MSIL,请单击该方法并从菜单中选择 Disassembler。
除了能够查看 MSIL 以外,您还可以通过选择 Tools 菜单下的 Decompiler 来查看该方法的 C# 形式。通过在 Languages 菜单下更改您的选择,您还可以查看该方法被反编译到 Visual Basic .NET 或 Delphi 以后的形式。以下为 .NET Reflector 生成的代码:
public void HashtableAddTest(){ Hashtable hashtable1; hashtable1 = new Hashtable(); hashtable1.Add("Key1", "value1"); hashtable1.Add("Key2", "value2"); Assert.AreEqual("value1", hashtable1["Key1"], "Wrong object returned!"); Assert.AreEqual("value2", hashtable1["Key2"], "Wrong object returned!"); }
前面的代码看起来非常像我为该方法实际编写的代码。以下为该程序集中的实际代码:
public void HashtableAddTest(){ Hashtable ht = new Hashtable(); ht.Add("Key1", "value1"); ht.Add("Key2", "value2"); Assert.AreEqual("value1", ht["Key1"], "Wrong object returned!"); Assert.AreEqual("value2", ht["Key2"], "Wrong object returned!"); }
尽管上述代码中存在一些小的差异,但它们在功能上是完全相同的。
虽然该示例是一种显示实际代码与反编译代码之间对比的好方法,但在我看来,它并不代表 .NET Reflector 所具有的最佳用途 — 分析 .NET 框架程序集和方法。.NET 框架提供了许多执行类似操作的不同方法。例如,如果您需要从 XML 中读取一组数据,则存在多种使用 XmlDocument、XPathNavigator 或 XmlReader 完成该工作的不同方法。通过使用 .NET Reflector,您可以查看 Microsoft 在编写数据集的 ReadXml 方法时使用了什么,或者查看他们在从配置文件读取数据时做了哪些工作。.NET Reflector 还是一个了解以下最佳实施策略的优秀方法:创建诸如 HttpHandlers 或配置处理程序之类的对象,因为您可以了解到 Microsoft 工作组实际上是如何在框架中生成这些对象的。
.NET Reflector 由 Lutz Roeder 编写
下载地址:http://www.aisto.com/roeder/dotnet
现在介绍一个它的插件。非常好用。还原源码。!
www.denisbauer.com/Downloads/Reflector.FileDisassembler.zip
这是插件下载地址!
打开Reflector,在view菜单下的Add-Ins,将dll添加到里面即可!
然后加载一个dll。选中它。选择Tools-File Disassembler打开右侧File Disassembler窗口再选择Generate
这样就还原了源码。但可不是完全还原!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?