如何钩住托管(.NET)进程并在该进程内收集信息?

如何钩住托管(.NET)进程并在该进程内收集信息?,.net,dll,hook,code-injection,codecave,.net,Dll,Hook,Code Injection,Codecave,我需要钩住托管(C#,C++/CLI)进程,我需要查找并将有关它有多少个窗口(其关联控件及其属性)的信息发送到用C#托管代码编写的目标应用程序 为此我需要做什么? 我是否需要浏览该托管流程的IAT(导入地址表)和EAT(导出地址表)? 我需要在C++中编写注入器DLL吗? 除了改变IAT和饮食,我还需要什么 [编辑] 我需要将托管的运行进程附加到应用程序(它将承载或附加其他进程)。附加进程后,我需要获取与该进程的窗口关联的所有控件的属性 我将一个接一个地迭代该附加进程的窗口,将枚举与该窗口关联的

我需要钩住托管(C#,C++/CLI)进程,我需要查找并将有关它有多少个窗口(其关联控件及其属性)的信息发送到用C#托管代码编写的目标应用程序

为此我需要做什么? 我是否需要浏览该托管流程的IAT(导入地址表)和EAT(导出地址表)? 我需要在C++中编写注入器DLL吗? 除了改变IAT和饮食,我还需要什么

[编辑] 我需要将托管的运行进程附加到应用程序(它将承载或附加其他进程)。附加进程后,我需要获取与该进程的窗口关联的所有控件的属性

我将一个接一个地迭代该附加进程的窗口,将枚举与该窗口关联的所有控件(将获取控件的id、名称、颜色、位置、大小等),并将整个信息发送到其他应用程序或附加其他应用程序的应用程序(实际上,作为主机的应用程序再次需要使用该信息重新绘制相同的控件,不要问我为什么需要这样做:-))

问候
乌斯曼

我相信这些问题的答案可能会对你有所帮助:

请看这个

您可以通过在运行时修改IL代码来实现这一点


此外,探查器界面是另一种不会让您有任何进展的方式。查看Managed Spy++的源代码,了解一些想法。