2011-07-12 61 views
0

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

在此先感谢。

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

请看看这个萤幕撷取画面..我试图勾选“微软SIlverlight”(红色箭头),但它不起作用..如果你们可以分享我的一些代码示例子过程..谢谢..

SL process on Spy++

+0

“注入代码”是什么意思?像修改程序流程一样? – Blender

+1

我很确定有WinAPI调用拦截消息到Spy ++使用的窗口,而不是代码注入。 –

+0

嗨搅拌机,我正在谈论像这样的东西http://www.codeproject.com/KB/threads/winspy.aspx –

回答

0

这不是很 “注入”,但SetWindowsHookEx是非常有用的。

如果你真的需要注射,看看Process Hacker做什么。

+0

是的。目前,此代码_messageHookHandle = :: SetWindowsHookEx(WH_CALLWNDPROC,procAddress,hinstDLL,threadID);正在Snoop中使用..我只是想知道如果我们可以钩入“子”过程。 –

0

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

欲了解更多信息,请阅读由Jeffrey Richter编写的书籍“Programming Applications for Microsoft Windows”中的第22章。它包含不同的挂钩方式。我认为这可能会对你有所帮助。

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

+0

我明白,我们可以钩到其他进程..我们可以钩到其他子进程?例如:IE Process - > Windows Frame Tab - > TabWindowsClass - > Shell DocObject View - > IE Server - > MS Silverlight .. –

0

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

注:你是间谍++ 窗口视图,您可以切换到进程与齿轮按钮来查看。

相关问题