楼主号称理论完全了解了,我看,其实不然吧。
HOOK有N多种。
按照使用级别来说,可大致分为应用层钩子和内核钩子;
按照钩子实现的方式来说,又可以分为消息钩子、进程钩子、SSDT、ShadowSSDT、ITA、Object钩子、系统中断等。
从你上面代码看,你似乎要挂钩进程中的Windows API函数 MessageBoxA,还要挂钩一个WH_GETMESSAGE消息钩子,并且在控制台程序用执行,太杂乱了,这让人无法明白你到底要做出什么样的效果。
在这种情况下,直接让人给你代码,恐怕给你了也不晓得该怎么用。对了,忘记说了,按照有效范围来说,可分为局部钩子、全局钩子,其中全局钩子必须要放到独立的DLL中的。
纯手打,祝楼主天天向上。
分消息钩子、进程钩子