对于hook运行机理的疑问...请大牛们帮忙解惑

xyy19920105 2012-03-09 11:10:09
为了方便起见,hook为键盘钩子(全局钩子),写在hookdll中,dll里有钩子的回调(里面有SendMessage函数to监控进程),安装(传参为hwnd...),卸载函数。
我想问的:
1.hookdll是不是应该加载到监控进程?如果是的话,安装函数直接把监控进程的hwnd传回到hookdll中了,为什么还必须要设定hookdll中的hwnd为共享变量?
2.如果在被监控进程按键盘,键盘钩子应该能够钩到吧,然后调用回调函数中的SendMessage函数把消息传给监控进程,监控进程再处理消息。这样子理解没错吧?为什么我按照这个思路下来,监控进程只能监控到本进程的,别的进程根本监控不到?
3.我上网看了很多,有的说是“hookdll映射到被监控进程中”,为什么dll会被映射到被监控进程啊,他俩应该没有关系吧,监控进程加载dll,而被监控进程和钩子的关系仅仅是 SetWindowsHookExtern函数和回调函数的关系,为什么dll会被映射呢??我是初学者,可能有点语无伦次,请谅解啊...
...全文
61 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lactoferrin 2012-03-09
  • 打赏
  • 举报
回复
全局WH_KEYBOARD需要dll,不需要任何共享变量
WH_KEYBOARD_LL不需要dll

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧