首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IE11中正确挂接WSARecv

问如何在IE11中正确挂接WSARecv
EN

Stack Overflow用户
提问于 2014-06-23 10:24:41
回答 3查看 1.3K关注 0票数 1

我目前正在进行一个项目,该项目需要挂钩TCP发送和IE中的recv API来监控TCP数据。它在IE9和IE10上运行良好。但它在IE11上不再起作用。经过一些研究,我发现IE11使用WSASend和WSARecv来发送和接收数据。所以我决定把WSASend和WSARecv联系起来。

WSARecv是一个重叠的操作。有3种方法可以得到重叠操作的结果。当使用重叠操作时,它们要么具有关联的事件、完成例程,要么与I/O完成端口关联。我在IE11调用WSARec时检查了重叠结构,发现事件和完成例程都为空,所以我假设IE11使用IO完成端口来获取重叠操作的结果。

问题是IE11从未调用过GetQueuedCompletionStatus或GetQueuedCompletionStatusEx。我直接使用API monitor或挂钩这两个函数,但从未看到这两个函数被调用。我不知道IE11是否使用了不同的API来获得WSARec的结果。我想知道是否有人遇到过类似的问题。我应该挂接哪个API?如果有其他方法可以达到同样的目标。基本上,我想做的是在IE11中监视TCP数据。

EN

回答 3

Stack Overflow用户

发布于 2014-06-23 17:23:48

您可以在ntdll!NtDeviceIoControlFile,中设置断点,所有套接字API最终都将路由到该断点,这样您就可以知道使用了哪个断点。

票数 1
EN

Stack Overflow用户

发布于 2015-04-16 02:05:54

你需要钩住CreateThreadpoolIo。

票数 1
EN

Stack Overflow用户

发布于 2014-06-25 12:11:40

您还需要过滤WSARecvMsg、WSASendMsg等winsock扩展函数,为此您需要挂接WSAIoctl并替换扩展函数指针

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24357660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档