是否有允许检查正在运行的进程中的.NET对象的工具?

是否有允许检查正在运行的进程中的.NET对象的工具?,.net,reverse-engineering,.net,Reverse Engineering,我在考虑一种在运行时检查对象的工具,主要用于反向工程,我想知道是否存在这样的东西 我的想法是,你有两个视图,一个对象图和一个类列表。从类列表中,您可以选择一个类并在列表或图形中查看其实例。在图中,您可以看到对象之间的连接,并进行了适当的注释,例如,哈希表中的键可以是哈希表对象和值之间边缘上的标签 您还可以调出对象属性的列表,并查看/操作其中的值。NET中提供的元数据将使这变得相当简单 有人知道有什么工具可以做到这一点吗?它似乎是调试和逆向工程的非常有用的工具 编辑:另外,另一个有用的功能是在查看

我在考虑一种在运行时检查对象的工具,主要用于反向工程,我想知道是否存在这样的东西

我的想法是,你有两个视图,一个对象图和一个类列表。从类列表中,您可以选择一个类并在列表或图形中查看其实例。在图中,您可以看到对象之间的连接,并进行了适当的注释,例如,哈希表中的键可以是哈希表对象和值之间边缘上的标签

您还可以调出对象属性的列表,并查看/操作其中的值。NET中提供的元数据将使这变得相当简单

有人知道有什么工具可以做到这一点吗?它似乎是调试和逆向工程的非常有用的工具

编辑:另外,另一个有用的功能是在查看二进制文件时设置名称映射的能力。也就是说,如果您有一个模糊化的二进制文件,您就可以将模糊化的名称替换为占位符或实名。这不会影响实际的二进制文件,只影响inspector中的视图


编辑第2部分:该工具应该能够在Vista和XP上运行,并支持x64。

如果您有一个正在运行的进程,那么您的机器上的某个地方就有二进制文件

您可以在Reflector中加载此二进制文件

或者,如果已安装Visual Studio,则可以将Visual Studio调试器附加到正在运行的进程。

有一个名为的程序,可以让您查看.NET应用程序中的UI元素


我还发现了一个名为“我不确定它现在试用得有多好”的程序。

您可以从相关应用程序中获得一个小型转储,并使用WinDBG和SOS对其进行检查。

有一个名为Crack.NET的工具,专门用于分析托管堆


这似乎只允许您查看GUI元素-我弄错了吗?是的,对此我很抱歉:无论如何,谢谢,看到人们至少在这附近做事情是很好的-这给我带来了整个工具存在的希望:。NET Component Inspector看起来很不错,但唉,这是啊哈,我错了。那张通知贴在墙上了。现在安装:Reflector对调试没有真正的支持,它有一个调试器插件,但没有用,VS调试器对挖掘过程中的所有对象的支持非常有限。不过,谢谢。我已经尝试过了,但是我真的很喜欢我描述的GUI工具。谢谢你的意见:啊哈,这看起来很棒。谢谢没问题。很高兴我能帮忙@科迪:你让这个应用程序工作了吗?我似乎无法运行它,每次都会崩溃:@Cody NM没有安装.NET 3.5 SP1。是的,在这里工作得很好。使用它来挖掘通过一个模糊的应用程序相当成功-这岩石!