现在的位置: 首页 > 综合 > 正文

为什么 远程钩子 必须使用动态链接库dll(而且是.data? 段共享的动态链接库)

2012年08月13日 ⁄ 综合 ⁄ 共 233字 ⁄ 字号 评论关闭

动太链接库可以被所有的进程调用,如果不是动态链接库就只能被当前的进程调用.
首先在DLL中会有一个SetHookWindowEx函数它会设置一个全局的的钩子和当前所有的线程相关联.如果此时有一个进程中的一个线程给系统发送了消息,操作系统就会去检查这个线程是否已经安装了钩子过程,如果说发现安装了全局钩子过程,于是就会找到包含了这个钩子过程的动态链接库.将这个动态链接库映射到这个进程的地址空间当中。然后再调用钩子过程函数。将系统消息传给动态链接库中定义的钩子过程函数。

抱歉!评论已关闭.