下载吧 其他软件

分类分类

Red Gate .NET Reflector(.NET反编译软件)

Red Gate .NET Reflector(.NET反编译软件)

v10.2.4.1860 免费版

大小:10.4 MB 更新:2024/12/01

类别:其他软件系统:WinAll

立即下载

  Red Gate.NET Reflector是一款专业的反编译软件,使用这款软件用户可以轻松的将.NET程序集中的可执行项反编译为C#或Visual Basic;通过反编译软件,用户可以更轻松的理解和修复任何.net代码,并且不需要用户拥有程序的源代码;.NET Reflector具有广泛的加载项框架,并且已有许多加载项可作为可完整操作的示例,这款软件无疑是一个非常不错的反编译程序开发软件;想要直观的了解一个程序的接口,组件以及框架等,那么这款软件您千万不要错过。

Red Gate .NET Reflector(.NET反编译软件)

软件功能

  调试第三方程序集

  为反编译的程序集生成.pdb文件并保存它们,因此您只需为每个程序集启用一次调试即可。

  动态反编译

  程序集可以在Visual Studio中进行无缝反编译,因此源代码始终可用于您的库。

  使用VS快捷方式

  使用F12“转到定义”,F9“设置断点”,以及F11“进入”任何反编译的代码。

  C#7反编译

  NET Reflector支持C#7,.NET 4.7.2和.NET Core和Standard。

  浏览代码

  NET Reflector VSPro将Reflector对象浏览器添加到Visual Studio中,使用树形视图浏览代码。

软件特色

  1、跟踪应用程序中的错误以查看问题出在哪里–您自己的代码,第三方库或应用程序使用的组件。

  2、通过查看代码在上下文中的工作方式来替换缺少或缺少的文档。

  3、发现方法查找未公开和未记录的功能,并充分利用您正在使用的API和技术。

  4、深入了解.NET语言和框架的实现方式,并学习如何使用它们。

  5、具有完善的加载项模型,带有API,可让您扩展该工具以满足您的确切需求。

  6、允许其他工具利用.NET Reflector的无与伦比的反编译和反汇编功能来补充其自身的功能。

使用方法

  调试到SharePoint中并查看本地

 使用Process Explorer创建的w3wp.exe实例:

Red Gate .NET Reflector(.NET反编译软件)

  要启用调试,然后使用Reflector VSPro反编译SharePoint程序集:

Red Gate .NET Reflector(.NET反编译软件)

  有两种无法反编译的方法:

Red Gate .NET Reflector(.NET反编译软件)

  但是仍然可以将调试器附加到四个工作进程,并开始查看发生了什么:

Red Gate .NET Reflector(.NET反编译软件)

  为了开始调试,我需要找到一个与我知道将要调用的类相对应的源文件。因此,我导航到Reflector缓存目录,找到文件SPHttpUtility,我知道该文件 将包含同名类的代码。

  在Visual Studio中找到这一点,我在其中一种方法上设置了一个断点:

Red Gate .NET Reflector(.NET反编译软件)

  然后,我使用Web浏览器来获取SharePoint以执行代码。想象一下当调试器无法显示局部变量值时我的不满意:

Red Gate .NET Reflector(.NET反编译软件)

  没有局部值,我们将无法跟踪代码中的数据流,也无法像我们期望的那样准确地进行调试。

  为SharePoint本地人启用调试

  一个问题是SharePoint由ngen的程序集组成,您看不到该代码中发生了什么。程序集由CLR自动加载,因此请避免进行调试。

  使用禁用优化 COMPLUS_ZAPDISABLE

  要查看本地人,我们需要防止CLR加载ngen'd程序集。幸运的是,这可以通过COMPLUS_ZAPDISABLE 在加载CLR本身的过程中设置环境变量来完成。

Red Gate .NET Reflector(.NET反编译软件)

  MSDN博客文章中也记录了此问题:调试时如何禁用优化参考源

  使用IIS,我发现使用本文中有关改善调试体验的注册表项最容易做到。

  环境变量可防止CLR加载程序集的预编译版本。如果设置此条目,则需要重新启动各个工作进程,并且有用的技巧是使用进程资源管理器,通过在进程运行时使用上下文菜单中的属性选项卡来检查是否在进程中设置了环境变量。被选中

  防止使用.ini文件进行优化

  第二个问题是方法是在附加调试器之前进行JIT编辑的,因此在某种程度上优化了代码。现在的诀窍是使用.ini文件,JIT将检测到该文件,该文件可用于覆盖程序集本身中指定的优化级别。

  我进入了GAC,使用Visual Studio中的“模块”窗口来确定程序集的实际加载位置。然后,我制作了一个.ini文件,其名称与程序集相同,但扩展名为ini而不是dll,并包含以下三行:

Red Gate .NET Reflector(.NET反编译软件)

  为了再次尝试此操作,我回收了这些 w3wp.exe 过程?在我的案例中,使用Process Explorer移除它们,尽管回收IIS可能是一个稍微整齐的方法。然后,我访问了网页,让它们启动并重新连接。

  这次,在相同的断点处,我们可以看到所有变量值,因为代码现在未优化:

Red Gate .NET Reflector(.NET反编译软件)
相关文章
  • 最新排行
  • 最热排行
  • 评分最高
其他软件排行榜

点击查看更多

点击查看更多

点击查看更多