Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

勾选了Recv和WSARecv之后会断开游戏socket #40

Open
xiaolitamadefeidao opened this issue Oct 2, 2024 · 7 comments
Open

勾选了Recv和WSARecv之后会断开游戏socket #40

xiaolitamadefeidao opened this issue Oct 2, 2024 · 7 comments

Comments

@xiaolitamadefeidao
Copy link

把这2个取消就可以抓了,但只能抓到发送,抓不到收取.
勾上之后一点开始游戏就断开了.是没有任何保护措施的游戏.

@x-nas
Copy link
Owner

x-nas commented Oct 2, 2024

什么游戏,方便发我测试下吗?

@xiaolitamadefeidao
Copy link
Author

xiaolitamadefeidao commented Oct 2, 2024 via email

@xiaolitamadefeidao

This comment was marked as duplicate.

@xiaolitamadefeidao
Copy link
Author

1
2
我同时开着wireshark抓了下发现是同一个Recv封包好像被截成了多段,如果这个封包长的话,会像第1张图被截断为很多包
而且第2张图的send和recv的顺序也不对,recv应该在两个send之间

@x-nas
Copy link
Owner

x-nas commented Oct 2, 2024

WSARecv是有缓存机制的,每次可能就发送了一小段数据,所以我的程序抓到数据就先显示出来的
recv没有在send中间也是因为缓存了导致封包进入显示队列的时间晚于send

上面两个问题我会想办法修复下,还有这个游戏叫啥名字? 我直接去下载做测试哈

@xiaolitamadefeidao
Copy link
Author

2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 185
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 182
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 185
2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 -1222074088

我打印了一下数据长度,不明白为什么一个封包会被分割为3个,到达的时候肯定是一个完整的封包的.但是到达WSARecv_Hook的时候又是分3次的

@x-nas
Copy link
Owner

x-nas commented Oct 2, 2024

2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 185 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 182 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 2 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 185 2024/10/2 15:16:13 -> lpBuffers:647161212 dwBufferCount:1 lpNumberOfBytesRecvd:647161224 -1222074088

我打印了一下数据长度,不明白为什么一个封包会被分割为3个,到达的时候肯定是一个完整的封包的.但是到达WSARecv_Hook的时候又是分3次的

wsarecv 就是这样的,每次收一点放缓存区,然后通知程序有数据到了,等全部收完了会再发个通知告诉程序全部收完了

方便的话可以加我 QQ 263659 一起测试,谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants