Dienstag, 1. November 2016

HowTo: Read the first packet sent by the server

The first packet sent by the server back to the client can be understood as follows:

Header:

BytesDescriptionLength
0x00-0x01Set to the session ID of the server2
0x02-0x03The length of the packets body in bytes2
0x04-0x07The command (aka action aka OP code): 040000004
0x08-0x0BThe sequence number of the packet: 000000004
0x0C-0x0FThe checksum of the packets body4
0x10-0x11Unknown initial value4
0x12-0x13Unknown initial value4

Body:

BytesDescriptionLength
0x14-0x17Base value for "ping pong" packets, though byte-swapped4
0x18-0x1bUnknown4
0x1c-0x23Some kind of session key (returned byte swapped in the next packet from the client)4
0x24-0x25Padding: 00 002
0x26-0x27Session ID for the client (will be the first 2 bytes of every next packet from the client)2
0x28-0x2bBase for the checksum generation on the server4
0x2c-0x2fBase for the checksum generation on the client4
0x30-0x3fSome constant (same for every account, every server)16
That's all currently known behind the magic happening in the first packet from the server.

2 Kommentare:

  1. Thanks bwg for recapitulating those infos. I hope someone will use them for good. But i wonder what turbine is thinking about this, at last its still an officially running game, and we have just seen what happened to one of the (famous) WoW PServers. If i where able to create such a great thing i would probably keep it rather low on spreading.

    AntwortenLöschen
  2. tutorial of reading and sending packet of other games?

    AntwortenLöschen