看过《Windows核心编程》的朋友,或对Hook有研究的朋友,问个难点的问题问题
我按照《Windows核心编程》第22章的例子(LastMsgBoxInfo),此例子是,先使用钩子将自己的dll调入,然后在此dll中替代某个dll中函数在当前模块的的入口地址,从而将对系统函数的调用转到对自己指定的函数的调用,构思巧妙。原文是替代了MessageBox函数,我想替代wsock32.dll中的send,recv等socket通信函数,但替代send函数出问题(用ie出错),但替代recv函数没事,有没有高手能给我解答为什么?
还有,如果在我的dll中调用getpeername函数,则替代recv也会出错。看来本人对dll的了解不够,希望高手指点。先表示感谢!