private static object readBinary(byte[] data) { Plist.offsetTable.Clear(); List <byte> nums = new List <byte>(); Plist.objectTable.Clear(); Plist.refCount = 0; Plist.objRefSize = 0; Plist.offsetByteSize = 0; Plist.offsetTableOffset = (long)0; List <byte> nums1 = new List <byte>(data); Plist.parseTrailer(nums1.GetRange(nums1.Count - 32, 32)); Plist.objectTable = nums1.GetRange(0, (int)Plist.offsetTableOffset); Plist.parseOffsetTable(nums1.GetRange((int)Plist.offsetTableOffset, nums1.Count - (int)Plist.offsetTableOffset - 32)); return(Plist.parseBinary(0)); }