读书人

大局Hook为什么要用共享数据段

发布时间: 2013-08-01 15:23:18 作者: rapoo

全局Hook为什么要用共享数据段?
各位大神,全局Hook为什么要用共享数据段?不是一个exe调用一个dll而已吗?到底是哪些进程在共享这些数据?请指教!!!不胜感激!!!
[解决办法]
这么说吧,全局hook是写在动态链接库里面的,你在需要安装这个钩子的时候,是要将动态链接库加载到安装钩子的程序的进程空间里面。所以说你全局hook里面的变量是由安装了这个钩子的程序独有的。但是不止一个线程会加载全局钩子,所以每一个安装全局钩子的进程都会加载动态链接库,此时dll里面的变量就好像是函数里面的局部变量了,在这个dll里面改变了不能反映到另外的dll里。此时使用共享变量就好像是使用了全局变量。所以是不同的安装了全局钩子的进程一起共享数据段

读书人网 >C++

热点推荐