本文主要介绍.NET(C#)中的五种反编译工具,可以查看和动态将程序集反编译成cs文件。

1、DotPeek

.NET程序集反编译为C#代码
dotPeek是一款基于ReSharper捆绑式反编译器的免费独立工具。它可以可靠地将任何.NET程序集反编译为等效的C#IL代码。
反编译器支持多种格式,包括库(.dll),可执行文件(.exe)和Windows元数据文件(.winmd)。

下载地址https://www.jetbrains.com/decompiler/

注意:免费使用,但不开源。

2、ILSpy

ILSpy是开源.NET程序集浏览器和反编译器。

下载地址https://github.com/icsharpcode/ILSpy/releases
开源代码https://github.com/icsharpcode/ILSpy

3、Reflector

浏览,分析,反编译和调试.NET代码

下载地址https://www.red-gate.com/dynamic/products/dotnet-development/reflector/download

注意:收费软件,可以试用,网上有破解版

4、JustDecompile

开源反编译引擎
Telerik JustDecompile引擎是开源的。这意味着可以轻松地:

  • 添加您需要和想要的功能
  • 与更大的社区共享功能和解决方案,让每个人都受益
  • 利用其他人的修复和补充
  • 查看源代码并自行验证代码的作用
  • 研究代码并从最好的方面学习

下载地址https://www.telerik.com/products/decompiler.aspx
开源代码https://github.com/telerik/justdecompileengine

5、Ildasm

IL 反汇编程序是 IL 汇编程序 (Ilasm.exe) 的配套工具。 Ildasm.exe 可利用包含中间语言 (IL) 代码的可移植可执行 (PE) 文件,并创建适合输入到 Ilasm.exe 的文本文件。
此工具会自动随 Visual Studio 一起安装。 若要运行此工具,请使用 Visual Studio 开发人员命令提示(或 Windows 7 中的 Visual Studio 命令提示)。

官方文档https://docs.microsoft.com/zh-cn/dotnet/framework/tools/ildasm-exe-il-disassembler

如果需要编写自定义工具,可以下载开源代码并试一试。

推荐文档