dotPeek 2023是一款基于 ReSharper 捆绑反编译器的免费独立工具。
2、查看源代码是否可用
反编译代码聊胜于无,不过有时您可以将程序集与它的源代码相匹配,那么为什么不利用这一点呢? dotPeek 可以根据 PDB 文件识别本地源代码,或者从 Microsoft Reference Source Center 或 SymbolSource.org 等源服务器中获取源代码。 此外,dotPeek 可以生成 PDB 文件。
使用菜单栏中的导航模式下拉列表来选择您只想要 dotPeek 反编译程序集,还是尝试查找源代码(如果可能)。
3、显示或隐藏编译器生成的代码
您可以选择显示某些编译器转换,从而使 dotPeek 显示的代码结构与编译器转换后的代码结构非常相似。 这有助于了解编译器如何处理 lambda、闭包和自动属性等对象。
4、探索正在运行的进程
Process Explorer 窗口可以显示当前正在运行的所有进程的列表,并且可以探索进程的模块以及对其中的 .NET 程序集进行反编译。 您可以选择显示或隐藏原生进程和模块,或者打开进程层次结构视图。
筛选列表以查找您正在寻找的模块或进程,然后将其程序集添加到Assembly Explorer中进行更深入的调查。
5、以单独视图查看 IL 代码
无论您何时想要在源代码以外深入了解,都可以从反编译的 C# 中的任意一点导航到 IL 代码。
最简单的方法是在与主代码查看器同步的单独工具窗口中显示 IL 代码。
dotPeek 可为反编译代码和从符号文件重现的源代码显示 IL 代码。
6、以反编译的 C# 的注释形式查看 IL 代码
或者,您也可以选择以反编译的 C# 代码的注释形式显示 IL 代码,这实际上会将它的默认文本查看器和通常单独的 IL Viewer 窗口合并显示在一个视图中。
7、使用您偏好的颜色主题
dotPeek 支持与 Visual Studio 相同的颜色主题集。
例如,您可以选择“蓝色”或“深色”主题,或者选择与 Visual Studio 设置同步颜色主题偏好设置。
2、Assembly Explorer
在 Assembly Explorer 中浏览 NuGet 软件包时,您现在可以查看这些 NuGet 软件包中包含的所有文件和文件夹。
现在可以在节点表示树和 Properties(属性)窗格中查看 Win32 资源节点,包括大小和类型(如果可以确定)。
3、程序集差异
dotPeek 2023.2 提供了详细比较两个程序集的方法。 仔细检查特定程序集两个版本之间的差异并搜索较新版本中可能引入的潜在漏洞时,这个功能特别实用。
4、IL Viewer 工具窗口
2023.1 版本的 dotPeek 包含以下针对 IL Viewer 工具窗口的改进:
在低级和高级 C# 代码中,IL Viewer 会按照在原始源代码中使用的方式显示变量名称,而在高级 C# 代码中,它还会显示局部变量的原始元组元素名称。
注释的元组元素名称将从 PDB/反编译器渲染,用于中间语言 (IL) 代码中的局部变量声明。
字段和属性初始值设定项、迭代器内语句、async 方法、lambda、局部函数以及高级 C# 的局部函数和嵌套局部函数声明的同步已得到改进。
5、其他更新
现在引入了解码 Win32 字符串表资源的功能。
dotPeek 现在可以在程序集/非程序集、捆绑包中的文件、归档、NuGet 软件包、比较的程序集和 Win32 资源的 Properties(属性)窗格中显示所打开文件的大小。
现在可以验证程序集 authenticode 签名。
显式 #nullable disable 指令显示在反编译的源代码中。