コード例 #1
0
ファイル: Form1.cs プロジェクト: zihadmahiuddin/CrClient
        private void GetDefinition(ushort id, byte[] payload)
        {
            switch (id)
            {
            case 10100:
                using (Reader reader = new Reader(payload))
                {
                    Console.WriteLine($"Protocol: {reader.ReadInt32()}");
                    Console.WriteLine($"KeyVersion: {reader.ReadInt32()}");
                    Console.WriteLine($"MajorVersion: {reader.ReadInt32()}");
                    Console.WriteLine($"MinorVersion: {reader.ReadInt32()}");
                    Console.WriteLine($"BuildVersion: {reader.ReadInt32()}");
                    Console.WriteLine($"Hash: {reader.ReadString()}");
                    Console.WriteLine($"DeviceType: {reader.ReadInt32()}");
                    Console.WriteLine($"AppStore: {reader.ReadInt32()}");
                }
                break;

            case 20103:
                using (Reader reader = new Reader(payload))
                {
                    Console.WriteLine($"Error Code: {reader.ReadVInt()}");
                    Console.WriteLine($"ResourceFingerprintData: {reader.ReadString()}");
                    Console.WriteLine($"RedirectDomain: {reader.ReadString()}");
                    Console.WriteLine($"ContentURL: {reader.ReadString()}");
                    Console.WriteLine($"UpdateURL: {reader.ReadString()}");
                    Console.WriteLine($"Reason: {reader.ReadString()}");
                    Console.WriteLine($"SecondsUntilMaintenanceEnd: {reader.ReadInt32()}");
                    reader.ReadByte();
                    reader.ReadString();
                }
                break;

            case 10101:
                payload = EnDecrypt.Decrypt(encrypted);
                using (Reader reader = new Reader(payload))
                {
                    Console.WriteLine($"UserId: {reader.ReadInt64()}");
                    Console.WriteLine($"Token: {reader.ReadString()}");
                    Console.WriteLine($"MajorVersion: {reader.ReadVInt()}");
                    Console.WriteLine($"MinorVersion: {reader.ReadVInt()}");
                    Console.WriteLine($"BuildVersion: {reader.ReadVInt()}");
                    Console.WriteLine($"Hash: {reader.ReadString()}");
                    Console.WriteLine($"UDID: {reader.ReadString()}");
                    Console.WriteLine($"Open UdId: {reader.ReadString()}");
                    Console.WriteLine($"Mac Address: {reader.ReadString()}");
                    Console.WriteLine($"Device Model: {reader.ReadString()}");
                    Console.WriteLine($"Advertising GuId: {reader.ReadString()}");
                    Console.WriteLine($"OS Version: {reader.ReadString()}");
                    Console.WriteLine($"isAndroid: {reader.ReadBoolean()}");
                    reader.ReadString();
                    Console.WriteLine($"Android Id: {reader.ReadString()}");
                    Console.WriteLine($"Preferred device language: {reader.ReadString()}");
                    reader.ReadByte();
                    Console.WriteLine($"Preferred language: {reader.ReadByte()}");
                    Console.WriteLine($"Facebook attribution Id: {reader.ReadString()}");
                    Console.WriteLine($"Advertising enabled: {reader.ReadByte()}");
                    Console.WriteLine($"Apple IFV: {reader.ReadString()}");
                    Console.WriteLine($"AppStore: {reader.ReadVInt()}");
                    Console.WriteLine($"Kunlun SSO: {reader.ReadString()}");
                    Console.WriteLine($"Kunlun UID: {reader.ReadString()}");
                    reader.ReadString();
                    reader.ReadString();
                    reader.ReadByte();
                }
                break;

            case 10108:
                Console.WriteLine("So, you want to see that what's inside the KeepAlive packet?\nIt's empty dude!");
                break;

            case 20108:
                Console.WriteLine("So, you want to see that what's inside the KeepAlive packet?\nIt's empty dude!");
                break;

            case 14315:
                payload = EnDecrypt.Decrypt(payload);
                Console.WriteLine(ByteArrayToHexString(payload));
                using (var reader = new Reader(payload))
                {
                    Console.WriteLine($"Message: {reader.ReadString()}");
                }
                break;

            case 20104:
                Console.WriteLine(BitConverter.ToString(payload).Replace("-", ""));
                using (var reader = new Reader(payload))
                {
                    Console.WriteLine($"UserId: {reader.ReadInt64()}");
                    Console.WriteLine($"HomeId: {reader.ReadInt64()}");
                    Console.WriteLine($"Token: {reader.ReadString()}");
                    Console.WriteLine($"GameCenter Id: {reader.ReadString()}");
                    Console.WriteLine($"Facebook ID: {reader.ReadString()}");
                    Console.WriteLine($"Server Major Version: {reader.ReadVInt()}");
                    Console.WriteLine($"Server Build Version: {reader.ReadVInt()}");
                    Console.WriteLine($"Server Type: {reader.ReadVInt()}");
                    Console.WriteLine($"Content Version: {reader.ReadVInt()}");
                    Console.WriteLine($"Environment: {reader.ReadString()}");
                    Console.WriteLine($"Session Count: {reader.ReadVInt()}");
                    Console.WriteLine($"Play Time Seconds: {reader.ReadVInt()}");
                    Console.WriteLine($"Days since started playing: {reader.ReadVInt()}");
                    Console.WriteLine($"Facebook App Id: {reader.ReadString()}");
                    Console.WriteLine($"Server Time: {reader.ReadString()}");
                    Console.WriteLine($"Account creation date: {reader.ReadString()}");
                    reader.ReadVInt();
                    Console.WriteLine($"Google service id: {reader.ReadString()}");
                    reader.ReadString();
                    reader.ReadString();
                    Console.WriteLine($"Region: {reader.ReadString()}");
                    reader.ReadString();
                    Console.WriteLine($"Content URL: {reader.ReadString()}");
                    Console.WriteLine($"Event Asset URL: {reader.ReadString()}");
                    reader.ReadByte();
                }
                byte[] ohd      = new byte[99999999];
                int    received = sck.Receive(ohd);
                Array.Resize(ref ohd, received);
                Console.WriteLine($"Encrypted OHD: {BitConverter.ToString(ohd).Replace("-","")}");
                payload = Crypto.Decrypt(ohd, keyPair);
                ReadData(payload, 24101);
                Console.WriteLine($"Decrypted OHD: {BitConverter.ToString(payload).Replace("-","")}");
                break;

            case 24101:
                using (var reader = new Reader(payload))
                {
                    Console.WriteLine($"User ID: {reader.ReadInt32()}/{reader.ReadInt32()}");
                    ECTSeed = reader.ReadVInt();
                    GenerateChecksum();
                    Console.WriteLine($"ECT Seed: {ECTSeed}");
                    Console.WriteLine($"Age/Time: {reader.ReadVInt()}");
                    Console.WriteLine($"Donation cooldown/Seconds until next free chest: {reader.ReadVInt()}");
                    Console.WriteLine($"Donation capacity: {reader.ReadVInt()}");
                    Console.WriteLine($"Login Time: {reader.ReadVInt()}");
                    reader.ReadByte();
                    Console.WriteLine($"Total Decks Amount: {reader.ReadVInt()}");
                    Console.WriteLine($"Deck 1 Cards Amount: {reader.ReadVInt()}");
                    Console.WriteLine($"Deck 1 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 1 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 1 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 1 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 1 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 1 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 1 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 1 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 2 Cards Amount: {reader.ReadVInt()}");
                    Console.WriteLine($"Deck 2 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 2 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 2 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 2 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 2 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 2 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 2 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 2 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 3 Cards Amount: {reader.ReadVInt()}");
                    Console.WriteLine($"Deck 3 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 3 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 3 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 3 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 3 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 3 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 3 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 3 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 4 Cards Amount: {reader.ReadVInt()}");
                    Console.WriteLine($"Deck 4 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 4 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 4 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 4 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 4 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 4 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 4 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 4 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 5 Cards Amount: {reader.ReadVInt()}");
                    Console.WriteLine($"Deck 5 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 5 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 5 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 5 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 5 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 5 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 5 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Deck 5 Card: {CardInfos.GetName(reader.ReadVInt())}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    Console.WriteLine($"Unknown: {reader.ReadVInt()}");
                    var baseStream = reader.BaseStream;
                    Console.WriteLine(baseStream.Position);
                }
                break;
            }
        }