예제 #1
0
        // Token: 0x060001FA RID: 506 RVA: 0x00008424 File Offset: 0x00006624
        private static int getCount(int bytePosition, ref int newBytePosition)
        {
            byte b  = Plist.objectTable[bytePosition];
            byte b2 = Convert.ToByte((int)(b & 15));

            checked
            {
                int result;
                if (b2 < 15)
                {
                    result          = (int)b2;
                    newBytePosition = bytePosition + 1;
                }
                else
                {
                    result = (int)Plist.parseBinaryInt(bytePosition + 1, ref newBytePosition);
                }
                return(result);
            }
        }
예제 #2
0
        // Token: 0x060001FB RID: 507 RVA: 0x00008470 File Offset: 0x00006670
        private static object parseBinary(int objRef)
        {
            byte b   = Plist.objectTable[Plist.offsetTable[objRef]];
            int  num = (int)(b & 240);

            if (num == 0)
            {
                if (true)
                {
                    return(Plist.objectTable[Plist.offsetTable[objRef]] != 0 && Plist.objectTable[Plist.offsetTable[objRef]] == 9);
                }
            }
            else if (num == 16)
            {
                if (true)
                {
                    return(Plist.parseBinaryInt(Plist.offsetTable[objRef]));
                }
            }
            else if (num == 32)
            {
                if (true)
                {
                    return(Plist.parseBinaryReal(Plist.offsetTable[objRef]));
                }
            }
            else if (num == 48)
            {
                if (true)
                {
                    return(Plist.parseBinaryDate(Plist.offsetTable[objRef]));
                }
            }
            else if (num == 64)
            {
                if (true)
                {
                    return(Plist.parseBinaryByteArray(Plist.offsetTable[objRef]));
                }
            }
            else if (num == 80)
            {
                if (true)
                {
                    return(Plist.parseBinaryAsciiString(Plist.offsetTable[objRef]));
                }
            }
            else if (num == 96)
            {
                if (true)
                {
                    return(Plist.parseBinaryUnicodeString(Plist.offsetTable[objRef]));
                }
            }
            else if (num == 208)
            {
                if (true)
                {
                    return(Plist.parseBinaryDictionary(objRef));
                }
            }
            else if (num == 160 && true)
            {
                return(Plist.parseBinaryArray(objRef));
            }
            throw new Exception("This type is not supported");
        }
예제 #3
0
        // Token: 0x060001FD RID: 509 RVA: 0x00008620 File Offset: 0x00006820
        private static object parseBinaryInt(int headerPosition)
        {
            int num;

            return(Plist.parseBinaryInt(headerPosition, ref num));
        }