我尝试通过SetWinEventHook为进程注入一个dll。
SetWinEventHook(EVENT_OBJECT_TEXTSELECTIONCHANGED, EVENT_OBJECT_TEXTSELECTIONCHANGED, NULL , HandleWinEvent, iexploreId , 0, WINEVENT_OUTOFCONTEXT))
调用了钩子函数,但我没有看到dll被加载到钩子进程。 是不是SetWinEventHook实现了将dll加载到钩子进程?
谢谢!
答案 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函数的最后一个参数。