SetWinEventHook - Dll注入?

时间:2014-10-29 14:21:46

标签: dll hook internals

我尝试通过SetWinEventHook为进程注入一个dll。

SetWinEventHook(EVENT_OBJECT_TEXTSELECTIONCHANGED, EVENT_OBJECT_TEXTSELECTIONCHANGED, NULL , HandleWinEvent, iexploreId , 0, WINEVENT_OUTOFCONTEXT))

调用了钩子函数,但我没有看到dll被加载到钩子进程。 是不是SetWinEventHook实现了将dll加载到钩子进程?

谢谢!

2 个答案:

答案 0 :(得分:0)

您正在使用WINEVENT_OUTOFCONTEXT参数,这意味着:回调函数未映射到生成事件的进程的地址空间。

更多细节此处:上下文挂钩函数http://msdn.microsoft.com/en-us/library/windows/desktop/dd373611%28v=vs.85%29.aspx

脱离上下文的钩子函数位于客户端的地址空间中,无论它是在代码体中还是在DLL中。

超出上下文的钩子函数未映射到服务器的地址空间。

当触发事件时,钩子函数的参数将跨进程边界进行编组。

答案 1 :(得分:0)

使用任何合适的方法将DLL注入目标进程,然后使用 WINEVENT_INCONTEXT作为SetWinEventHook函数的最后一个参数。