2013-10-27 2 views
0

게임 클라이언트에 dll을 주입하고 Easyhook을 사용하여 send/recv를 연결했습니다. 클라이언트가 서버로 보내고 서버로부터 수신하는 패킷을 쉽게 모니터 할 수 있습니다. 난 내 자신의 패킷을 보내려고합니다 그래서 나는이 같은 기능을했다 : 나는 프로그램이 잘 패킷을 전송 생각하지만 서버에서 아무것도받지 못한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이 패킷을 보낼 수 없거나 서버가 응답하지 않는다는 것입니다. 누구든지 이것에 대한 해결책이 있습니까?

미리 감사드립니다.

답변

0

EasyHook 문제가 아닌 것 같습니다. 게임 자체가 주입 된 패킷에 응답하는 데 필요한 정보를 올바르게 보낸 후에 만 ​​작동하는 특정 게임 프로토콜 뉘앙스가 누락 된 것 같습니다.