大小:96.52M
更新时间:24-09-26
系统:Pc
版本:v2024.2.5
jetbrains dotpeek 2024是一款专业强大的NET程序反编译工具,提供了搜索代码、调查类型继承层次结构、研究类型数据变化、添加任意数量的类型以及丰富的反编译功能等多种实用功能,通过软件,用户可以轻松地查看和分析.NET程序的源代码,从而更加灵活地修改和优化你的.NET程序,提升其功能和性能。
同时dotPeek 2024还提供了不同的代码结构和层次结构视图,使用户能够以不同的方式查看和分析代码,这些视图包括类视图、对象视图、调用层次结构视图等,可以根据用户的需求进行选择和切换,此外,软件还允许用户从不同的项目或编译的程序集中添加任意数量的类型,用户可以将多个项目或程序集组合在一起,以便更方便地进行代码分析和比较,这对于跨项目的代码重用和共享也非常有帮助,无论是在开发过程中还是在学习和研究其他代码,dotPeek都能帮助用户更好地理解和分析代码,提高工作效率和学习能力。
一、常规增强
1、lambda 形参:我们引入了对使用可选和形参数组形参反编译 lambda 的支持,有助于增强反编译代码的可读性和准确性。
2、lambda 上的特性:工具现在提供了改进的 lambda 表达式特性处理,可以确保所有相关元数据都准确反映在反编译的输出中。
3、受保护程序集:我们引入了指定是否反编译受保护程序集的功能,从而提供更全面的代码探索。
二、外部源处理
1、带有 SrcSrv 和 SourceLink 的 PDB:反编译器现在支持从包含 SrcSrv 和 SourceLink 的 PDB 文件导航到源。
2、预处理程序指令:反编译器现在可以正确识别来自目标框架或相关程序集的可移植 PDB 的预处理程序指令(如 NET6_0_OR_GREATER),确保准确的代码表示。
3、Open in Browser(在浏览器中打开)操作:您现在可以导航到类型仓库中的源代码或者 NuGet 软件包或程序集的仓库。
三、构建配置检测
Assembly Explorer(程序集资源管理器)工具窗口现在可以检测并显示程序集的构建配置,有助于您更清楚地了解程序集的编译上下文。
四、新的专属 Assembly Diff(程序集差异)工具窗口
2024.1 更新为 dotPeek 引入了新的 Assembly Diff(程序集差异)工具窗口,更改包括:
比较程序集、NuGet 软件包、文件夹和 .zip 归档的功能已从 Assembly Explorer(程序集资源管理器)移至 Assembly Diff(程序集差异)工具窗口。
Diff mode(差异模式)选择器以及 Compare(比较)和 Diff Options(差异选项)按钮已重新定位到 Assembly Diff(程序集差异)工具窗口的 Actions(操作)栏。
五、对 WebCIL 打包格式的支持
dotPeek 现已支持 WebAssemblies 的 WebCIL 打包格式。支持涵盖:
1、WebCIL 的反编译。
2、在 Assembly Explorer 中查看 .wasm 文件的功能。
3、Assembly Explorer 中 WASM 节点的元数据子树,包括 WASM 和 WebCIL 头。
一、服务器
1、打开dotPeek官方版后,在工具栏有个 Start Symbol Server 的功能,然后点击此按钮,即可启动 Symbol Server,
2、启动 Symbol Server 后,我们需要一个地址对吧,看右下角的一个小按钮,可以看到我们的地址为:localhost33417,
二、设置VS
1、有了Symbol Server后,打开VS,找到工具->选项>调试->符号,然后添加我们刚刚启动的 Symbol Server 地址,
2、然后,再找到工具->选项 -> 调试 -> 常规,取消选 启动”仅我的代码”,然后点击确定,
三、Debug
接着创建一个.net core web api 的项目,安装一个Newtonsoft ,写一些简单的代码(如下)。打上断点,然后启动项目,F10一步一步的走,未到框架代码时 F11,可以看到进入了Lsit的add方法,与Newtonsoft SeriazeObiect 方法,以上就是dotPeek官方版的用法了。
一、将 .NET 程序集反编译为 C# 或 IL
dotPeek 可以将任意 .NET 程序集反编译为对等的 C# 代码,还可以选择显示基础 IL 代码。
1、库、可执行文件以及更多
dotPeek 支持多种格式,例如库 (.dll)、可执行文件 (.exe) 和元数据文件 (.winmd)。
dotPeek 也可以反编译 .baml 文件,让您能够重建 XAML UI 定义。
除了传统的程序集和可执行文件,您还可以使用 dotPeek 打开存档(.zip、.vsix 或 .nupkg)和文件夹。 您还可以查找并从任意在线包源加载 NuGet 包(及其依赖项),或者加载 Visual Studio 项目的 packages.config 文件中列出的包。
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 设置同步颜色主题偏好设置。
二、以不同的方式导航反编译的代码
dotPeek 基于 ReSharper 强大的代码洞察架构,让您能够以上下文相关或上下文无关的方式导航反编译的程序集,获得每个反编译文件中内容的快速摘要,设置书签以及探索继承链。
1、查找任意符号的用法
借助 dotPeek,您可以通过多个选项搜索引用代码符号的位置。
调用 Find Usages 可以在所有加载的程序集中查找所有符号(例如方法或属性)的用法。 Find Results 工具窗口中会显示这些用法,您可以在窗口中对用法分组,在用法之间导航以及将它们在代码视图区域中打开。
还有 Find Usages Advanced,它是更详细版的 Find Usages,通过限制搜索范围和其他细节来帮助您优化搜索条件。
2、在代码查看器中高亮显示用法
dotPeek 会自动高亮显示脱字符号下符号的所有可见用法,与最新版本的 Visual Studio 非常相似。 这有助于改进反编译代码的可读性,特别是在您处理混淆的标识符时。
此外,如果您想要浏览文件中的所有用法,则无论它们是否可见,都请使用 Highlight Usages in File。 这将会高亮显示当前文件中给定符号的所有用法,使用两种不同的颜色表示写入用法和读取用法。
3、探索当前文档
使用 Go to File Member 进行快速浏览,并导航到表示反编译类型的文档中的成员。 输入部分成员名称,然后直接导航到它们。
或者,如果您想要静态显示当前文档中的成员,请打开 File Structure 工具窗口并将其停靠在某个位置。 您也可以筛选此视图:选择工具窗口,开始输入字符,仅关注您感兴趣的类型成员。
4、跳到任意代码
通过为程序集列表中的所有程序集及其所有引用编制索引,dotPeek 提供了两种快速跳转至特定代码的功能:
Go to Symbol 有助于您导航到特定的符号声明,可能是类型、方法、字段或属性。 使用 lowerCamelHumps 语法可定位类型 - 例如,输入 xmard 可定位并打开 XamlMarkupDeclaredElement。
Go to Everything 让您可以搜索程序集、命名空间、类型、成员或最近打开的文件。
5、设置书签
如果存在您觉得重要并且想要以后返回来处理的反编译代码行,请设置书签。
使用一个快捷键拖动带编号的标记,并使用另一个快捷键随时跳回来。 您可以创建多达10个带编号的书签以及无数个不带编号的书签。 已加入书签的位置的完整列表将在一个弹出窗口中显示。
6、上下文导航
当您将脱字符号放在代码视图区域中的符号上时,dotPeek 可以通过 Navigate To 下拉菜单提供大量的上下文导航选项。
例如,Go to Declaration 会将您从任意符号的用法转到它的声明。 如果该符号已在另一个程序集上声明,将自动加载程序集。
Go to Implementation 有助于导航到类型和类型成员的最终实现,跳过继承链中的中间步骤,例如抽象类。
其他有用的上下文导航选项包括 Go to Base Symbols 和 Go to Extension Methods。
7、导航类层次结构
如果您想在来自某个特定类型或类型成员的继承层次结构中上下导航,可以考虑使用 Go to Base Symbols 和 Go to Derived Symbols。
如果您想立即转到继承者或基本符号,这两个操作特别有用。
8、探索继承链
如果您希望获得特定继承链的可视摘要,请使用 Type Hierarchy。
dotPeek 将在单独的工具窗口中以树形视图的形式显示从选定类型继承的所有类型,以及自我继承的类型。
三、了解程序集
dotPeek 提供了相关的工具来快速抓取给定程序集的结构,了解程序集之间的关系,以及将程序集组织到离散的列表中,最后一项功能有助于仅关注与当前任务有关的程序集。
1、管理程序集列表
根据上下文的不同,您可以处理不同的程序集列表。 您可以保存并重新打开程序集列表,如果您不再需要,还可以清除当前列表。 程序集列表并不局限于 .dll 和 .exe 文件:它们也可以包含 NuGet 包、存档和文件夹。
2、探索程序集内容
在您处理程序集列表时,Assembly Explorer 可以显示特定程序集具有的引用、资源和代码种类,从命名空间到类型成员。
对于每种类型,除了实际成员列表外,它还可以高亮显示表示其基类型和继承者的节点。 也支持使用 lowerCamelHumps 进行快速搜索和节点筛选。
3、探索程序集元数据
dotPeek 也可以帮助您探索程序集元数据,并深挖其中的所有项(表、blob、字符串等)。 在 Metadata 节点下,您可以探索 blob 项的值、PE 文件头、元数据表项的用法。
与程序集树中的其他位置一样,您可以双击元数据项来反编译并显示相应的代码。
4、查看程序集之间的依赖关系
如果您想了解程序集彼此之间的依赖关系,可以在 Assembly Explorer 中选择多个程序集,然后指示 dotPeek 显示程序集依赖关系图。
这将借助选定程序集的引用可视化它们之间存在的任何关系。
v2024.2.5版本
1、常规增强
2、构建配置检测
相同厂商JetBrains更多>>
同类热门
猜你喜欢
类似软件
apk反编译工具箱(apktool box)16.79M467人在用 apktool box是目前互联网上最优秀的一款apk反编译工具箱,拥有编译、反编译、签名、dex转jar、打开jar等功能,能够支持winxp\win7等系统,适用于经常DIY安卓软件的朋友使用。需要注意的是:目前apktool box暂不支持W
查看frontpage 2003免费版366.06M3919人在用 frontpage2003是目前最经典的一款网页设计软件,虽然比起dreamweaver功能稍差一点,但是软件拥有良好的操作界面,且学习起来非常简单,更拥有设计、拆分、代码和预览4种工作视图,可以得到网页即编即看的预览效果,是初学网页制作最佳的设计
查看exeinfope汉化版7.02M1115人在用 exeinfo pe是一款非常不错的自动查壳脱壳工具,该软件能够检查程序的编译器信息、是否加壳、入口点地址、输出表 输入表等等PE信息,可以帮助开发人员对程序进行破解,同时还可以提取PE文件中的资源,可以提取图片、EXE、压缩包、MSI、SWF等等
查看Chm电子书批量反编译器(ChmDecompiler)2.31M467人在用ChmDecompiler是国华软件推出的一款专门用来反编译.CHM格式帮助文件或电子书的工具,它可以帮助用户轻松地把任意CHM文件转换为网页文件并取得全部的源文件。ChmDecompiler也可以完美地恢复CHM文件的.HHP工程文件,使得您在二次编辑
查看硕思闪客精灵官方免费试用版15.21M2719人在用 闪客精灵电脑版是一款用于浏览和解析Flash动画工具,它可以将swf文件导出成FLA文件,还能够将flash动画中的图片、矢量图、声音、视频(*.flv)、文字、按钮、影片片段、帧等基本元素完全分解,最重要的是可以对动作的脚本(Action Scr
查看热门标签
网友评论0人参与,0条评论
最新排行
fpwin gr7中文版(松下PLC编程软件)127.13Mv2.21附序列号fpwin gr7中文版是一款功能强大,且实用的松下PLC编程软件,该软件是以消除浪费、将编程人员的辛苦程度降低到最低限度为目标而设计的,已经省去初始设定的繁琐,省去了保护程序的繁琐,省去监控作业,节省了校验时间,能够支持多种类型的PLC,可以更轻松的进
查看