gpt4 book ai didi

sockets - 如何在IE11中正确hook WSARecv

转载 作者:可可西里 更新时间:2023-11-01 02:51:59 26 4
gpt4 key购买 nike

我目前正在开展一个项目,该项目需要在 IE 中挂接 TCP 发送和接收 API 以监控 TCP 数据。它在 IE9 和 IE10 上运行良好。但它停止在 IE11 上工作。经过一番研究,我发现IE11使用WSASend和WSARecv来发送和接收数据。所以我决定 Hook WSASend 和 WSARecv。

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

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

最佳答案

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

关于sockets - 如何在IE11中正确hook WSARecv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24357660/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com