gpt4 book ai didi

c++ - 模拟数据包发送和接收

转载 作者:太空宇宙 更新时间:2023-11-04 13:41:57 24 4
gpt4 key购买 nike

我已经 Hook 了游戏进程的发送和接收函数。现在我可以处理发送的内容和接收的内容。

我的职能是:

int __stdcall nSend(SOCKET s, char *buf, int len,int flags)
{
UnHookFunction("ws2_32.dll", "send", KSendHook);
int result = send(s, buf, len, flags); // Send data
HookFunction("ws2_32.dll", "send", (LPVOID*) nSend, KSendHook);

return result;
}

int __stdcall nRecv(SOCKET s, char *buf, int len, int flags)
{
UnHookFunction("ws2_32.dll", "recv", KRecvHook);
int result = recv(s, buf, len, flags); // Receive data
HookFunction("ws2_32.dll", "recv", (LPVOID*) nRecv, KRecvHook);

return result;
}

我的问题是:

我 Hook 了这个函数,所以我只能解释和修改发送和接收的内容。如果我是游戏,我需要发送新的数据包结构。使用相同的套接字。

我如何模拟同一个 Hook 函数套接字的发送和接收?

最佳答案

当你 Hook 的接收函数被调用时,根据需要调用真正的发送和接收函数。当您有数据要返回给调用者时,将其返回给调用者。调用 send 时,获取发送的数据,决定是否要向服务器发送任何内容,并根据需要调用 send 和 receive 与服务器通信。

关于c++ - 模拟数据包发送和接收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27369166/

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