应用介绍
接手一个老项目,某个第三方 DLL 没有源码也没有文档,调用它的方法参数含义全靠猜;或者线上抛了个异常,堆栈指向依赖库内部,你想看看那一行到底做了什么。dotPeek 就是干这个的——把 .NET 程序集反编译回可读的 C# 代码,dll、exe、winmd、nupkg 甚至 zip 里的程序集都能直接打开来看。
它是 JetBrains 出的免费工具,界面和导航沿用了 ReSharper 那一套:程序集浏览器里按命名空间和类型逐层展开,能查找用法、跳转到声明、看基类和派生类的层次结构,也能在反编译出来的代码里继续搜索。除了看代码,还能导出反编译结果为 Visual Studio 项目,或者把它当作符号服务器,让 Visual Studio 在调试第三方库时直接单步进反编译出来的源码。
除了 C#,也能显示原始 IL、IL 与 C# 对照,以及低级别的元数据视图(PE 头、表、字符串堆),排查混淆或者编译器生成代码时用得上。完全免费。
反编译成 C#:把 .NET 程序集还原成可读的 C# 代码,支持不同的语言版本级别,现代语法特性(async/await、lambda、模式匹配等)都能正确还原。
多种格式:可以打开 dll、exe、winmd、nupkg、vsix 以及压缩包里的程序集,不用先解压再找文件。
程序集浏览器:按程序集、命名空间、类型逐层展开,引用关系一并列出,结构关系比翻文件清楚。
ReSharper 式导航:查找用法、跳转到声明、查看类型层次和继承关系,在反编译代码里的导航体验和在自己的源码里基本一致。
导出为项目:反编译结果可以导出成 Visual Studio 项目,拿去编译、修改或者作为参考都方便。
符号服务器:dotPeek 可以作为符号服务器运行,Visual Studio 调试时会向它请求符号,从而直接单步进第三方库的反编译源码。
IL 与元数据视图:除了 C#,还能看原始 IL、IL 与 C# 对照视图,以及 PE 头、元数据表、字符串堆这类低级别结构。
进程浏览器:可以查看正在运行的 .NET 进程加载了哪些程序集,直接从进程里打开它们。
免费:JetBrains 免费提供,不需要许可证,也可作为 dotUltimate 套件的一部分使用。
它是 JetBrains 出的免费工具,界面和导航沿用了 ReSharper 那一套:程序集浏览器里按命名空间和类型逐层展开,能查找用法、跳转到声明、看基类和派生类的层次结构,也能在反编译出来的代码里继续搜索。除了看代码,还能导出反编译结果为 Visual Studio 项目,或者把它当作符号服务器,让 Visual Studio 在调试第三方库时直接单步进反编译出来的源码。
除了 C#,也能显示原始 IL、IL 与 C# 对照,以及低级别的元数据视图(PE 头、表、字符串堆),排查混淆或者编译器生成代码时用得上。完全免费。
软件功能
反编译成 C#:把 .NET 程序集还原成可读的 C# 代码,支持不同的语言版本级别,现代语法特性(async/await、lambda、模式匹配等)都能正确还原。
多种格式:可以打开 dll、exe、winmd、nupkg、vsix 以及压缩包里的程序集,不用先解压再找文件。
程序集浏览器:按程序集、命名空间、类型逐层展开,引用关系一并列出,结构关系比翻文件清楚。
ReSharper 式导航:查找用法、跳转到声明、查看类型层次和继承关系,在反编译代码里的导航体验和在自己的源码里基本一致。
导出为项目:反编译结果可以导出成 Visual Studio 项目,拿去编译、修改或者作为参考都方便。
符号服务器:dotPeek 可以作为符号服务器运行,Visual Studio 调试时会向它请求符号,从而直接单步进第三方库的反编译源码。
IL 与元数据视图:除了 C#,还能看原始 IL、IL 与 C# 对照视图,以及 PE 头、元数据表、字符串堆这类低级别结构。
进程浏览器:可以查看正在运行的 .NET 进程加载了哪些程序集,直接从进程里打开它们。
免费:JetBrains 免费提供,不需要许可证,也可作为 dotUltimate 套件的一部分使用。

