Hook MessageBox 进阶 跨进程Hook
http://blog.csdn.net/xugangjava/article/details/14001685
以前的文章(http://blog.csdn.net/xugangjava/article/details/7455851)中介绍了如何Hook 系统的MessageBox的函数不过只限于本进程,
本文主要介绍如何Hook其他进程的MessageBox函数。
这里我用SetWindowsHookEx 来实现,SetWindowsHookEx最后一个参数设置为0 ,表示拦截所有进程的相关消息。在回调函数中安装Hook就可以达到目的。
对原有代码稍作修改dllmain.cpp修改如下
按钮事件处理函数如下
好的再次调用MessageBox
发现python 进程的MessageBox已经被我们替换掉了,因为这个是命令行程序,第一次调用弹出只是为了该进程进入我们的WH_GETMESSAGE 回调MessageHookProc。
对不同类型进程Hook的时候可以使用不同的参数 WH_CALLWNDPROCRET,WH_KEYBOARD_LL,WH_MOUSE_LL来进行Hook。
同理 卸载钩子
有不对的地方欢迎大家指正。