我们可以将代码注入另一个子流程吗?

时间:2011-07-12 04:14:54

标签: c# c++

是否可以将代码注入另一个子流程?假设我们在浏览器中有Silverlight插件。我们想将我们的代码(类似于Snoop)注入该插件的进程中。当我使用Spy ++时,我可以从插件中接收事件..所以,我假设也可以注入代码..

提前致谢。

编辑:我目前正在查看Snoop的代码和本文http://www.codeproject.com/KB/threads/winspy.aspx ..我明白我们可以将代码注入其他进程..我的问题是如何挂钩到其他“子”进程..

请看一下这个截图..我正试图勾选“Microsoft SIlverlight”(红色箭头)但是它不起作用..如果你们可以分享一些代码示例来挂钩会很棒子流程..谢谢..

SL process on Spy++

3 个答案:

答案 0 :(得分:0)

这不是“注射”,但SetWindowsHookEx非常有用。

如果确实需要注入,请查看Process Hacker的内容。

答案 1 :(得分:0)

是的,可以挂钩到其他进程。

有关详细信息,请阅读“Microsoft应用程序编程”一书中的第22章 Windows“由杰弗里里希特。它包含不同的挂钩方式。我想这可能会对你有帮助。

API就像SetWindowsHookEx(),CreateRemoteThread()等,它将帮助您挂钩到其他进程。

答案 2 :(得分:0)

Windows没有“子流程”,但流程可以有子流程。如果无法挂接子进程,您将无法挂钩大多数正在运行的应用程序,因为它们是资源管理器的子进程。 Spy ++向您展示子窗口,而不是进程。如果您只想在特定窗口上挂钩输入,则需要根据活动控件进行过滤。

注意:您在Spy ++ windows 视图中,可以使用齿轮按钮切换到进程视图。