예제 #1
0
        public virtual void Connect(ref byte[] message, ClientHandler client, EventHandler events)
        {
            var b = new byte[0x12]
            {
                0xE2, 0xB7, 0x12, 0x00, 0x65, 0x00, 0x1B, 0x82,
                0xBC, 0x34, 0x0F, 0xFF, 0x54, 0x12, 0x32, 0x00,
                0x16, 0x11
            };

            var key  = BitConverter.ToUInt32(b, 0x6);
            var step = BitConverter.ToUInt16(b, 0x10);

            client.ChangeKey(key, step);

            client.Send(ref b, "Connect2Svr");
        }
예제 #2
0
        public static void Connect(PacketReader packet, PacketBuilder builder, ClientHandler client, EventHandler events)
        {
            uint   key  = 0x49B4DDD1;
            ushort step = 0x1621;

            var timestamp = (uint)client.Metadata["timestamp"];
            var count     = (ushort)client.Metadata["count"];

            client.Metadata["subTries"] = 0;

            builder.New(0x8C);
            {
                builder += key;         // XOR Seed
                builder += timestamp;   // AuthKey
                builder += count;       // Index
                builder += step;        // XOR Key Index
            }

            client.Send(builder, "Connect2Svr");
            client.ChangeKey(key, step);
        }
예제 #3
0
        public static void Connect(PacketReader packet, PacketBuilder builder, ClientHandler client, EventHandler events)
        {
            byte[] b;

            uint   key  = 0x34BC821B;
            ushort step = 0x1116;

            builder.New(0x65);
            {
                builder += (int)key;
                builder += (byte)0x0F;
                builder += (byte)0xFF;
                builder += 0x00321254;
                builder += (short)step;

                b = builder.Data;
            }

            client.ChangeKey(key, step);

            client.Send(builder, "Connect2Svr");
        }