4

As Google did not yield any results, I decided to ask it here.

I'd like to reverse the login sequence of a game (using gamespy). In this login sequence, first the game uses the gamespy protocol (that can be easily resolved with Aluigi's tool).

After this it sends a network packet to what seems to be a Master Server (This packet not encrypted). Then the game (I assume) is looking for an answer from the Master server (a challenge or some infos I don't know). The only problem is that the game's server is not public, so I only have the game's code to work with.

Is that something achievable or should I forget about it? I tried to mess around the typical winsocket functions (send, receive...) but apart the Gamespy protocol, I can't find any clues about the packet to the master server (except for the first packet the client sends).

If anyone could help, I'd really appreciate!

Cheers.

  • 1
    If you don't have a way to access a working server, or get some samples of real communication with the server, you need a crystal ball, not reverse-engineering tools. – Guntram Blohm supports Monica Jul 3 '14 at 22:25
  • 2
    See this seems to be achievable. What you need to do is, reverse engineer the login sequence. Next find what kind of response it is expecting from the server. Then, once you have this knowledge, you can create a fake server and return the desired response when the game asks for. – john4tech Jul 4 '14 at 5:52
  • 1
    This is what World of Warcraft private servers developers do. They reversed the packet structures too, so you can find some articles about it. You should be able to utilize that knowledge for your purpose. I'ld reverse the client and find out how it handles / builds the packets, then start to analyze them, when are they get sent, what does it contain, etc... Use wireshark, you can write a custom protocol parser for your packets. – Dominik Antal Jul 4 '14 at 7:29
  • 1
    Seems like you'll need to write your own dissector for protocol and then analyze with it .pcap data, gathered by Wireshark. By the way, if your protocol works via https you'll need to extract .pem file in addition to actually decrypt raw packets. – see ya Jul 4 '14 at 10:01
  • Apart from what others have said, you might look into using Scapy to capture packets beings sent to the server, tweak them, and see what kind of response the server gives. – hololeap Jul 6 '14 at 20:24