Android Hook式插件化教程(一)Hook从入门到精通

阅读: 9 发表于 2024-08-28 19:39

 

钩子函数实际上是一个处理消息的程序段,欧博每当一个应用程序调用函数GetMessage或PeekMessage而恰有一个消息即将被处理时,系统调用钩子函数。也就是说,当特定的息发出,在没有到达目的窗口前,欧博娱乐钩子函数先捕获消息,亦即钩子函数先获得控制权。这时钩子函数既可以加工处理该消息,也可以不作处理而继续传递消息,欧博allbet还可以强制结束消息传递。系统为每种类型的钩子维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,欧博百家乐也就是后加入的钩子先获得控制权。 Windows API函数SetWindowsHookEx用来安装钩子函数,这个函数的原型是HHOOK SetWindowsHookEx(int idHook,HOOKPROC lpfn,HINSTANCE hMod,DWORD dwThreadId),其中第一个参数是钩子的类型;第二个参数是钩子函数的地址;第三个参数是包含钩子函数的模块句柄;第四个参数指定监视的线程,如果指定确定的线程,即为线程钩子,如果指定为空,则为全局钩子。其中,全局钩子必须包含在DLL中,线程专用钩子可以包含在可执行文件中。得到控制权的钩子函数在完成对消息的处理后,如果想要该消息继续传递,那么它必须调用另一个API函数CallNextHookEx来传递它,钩子函数也可以通过直接返回0来丢弃该消息,以阻止消息的传递。

热点推荐

最新发布

友情链接