private void Handle(CodedInputStream stream) { if (first) { first = false; new HardcodedGsPackets(this.stream); } var size = stream.ReadInt32Reversed(); // includes size of size var payLoad = stream.ReadRawBytes(size - 4); payLoad.PrintHex(); var opcode = payLoad[0]; // assume that opcode is 1 byte for now Console.WriteLine("GS: Opcode {0:X2}, payload size {1}", opcode, size - 4); }