Easyhook发送数据包故障

时间:2013-10-27 19:29:18

标签: c# sockets hook easyhook

我将一个dll注入游戏客户端并使用Easyhook挂钩发送/接收。我可以轻松监控客户端发送到服务器并从服务器接收的数据包。我想发送自己的数据包,所以我做了这样的功能:

public static void SendPacket()
{
   string packet= "dance emotion packet";
   byte[] byData = System.Text.Encoding.ASCII.GetBytes(packet);
   IntPtr unmanagedPointer = Marshal.AllocHGlobal(byData.Length);
   Marshal.Copy(byData, 0, unmanagedPointer, byData.Length);
   send(socket, unmanagedPointer, byData.Length, 0);
}

我认为程序发送数据包很好,但我没有从服务器收到任何东西。例如,如果我发送一个数据包来做舞蹈情感,服务器就不会响应。有趣的是当我在客户端做某事时(例如打开商店或移动或任何将数据包发送到服务器的东西)服务器响应我在注入的dll中使用SendPacket()函数之前发送的舞蹈包

所以问题是我的dll无法发送数据包或服务器没有响应。有人有解决方案吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

它看起来不像是一个EasyHook问题。您可能错过了一些特定的游戏协议细微差别,只有在游戏本身正确发送服务器响应您注入的数据包所需的信息后才能运行。