public static object Unpack(byte[] data) { object obj; if (BitConverter.IsLittleEndian) Array.Reverse(data); using (MemoryStream memoryStream = new MemoryStream(data)) { obj = (new BinaryFormatter()).Deserialize(memoryStream); } return obj; }