Exemple #1
0
        public static string PrettifyXbox(XboxDMI?dmi)
        {
            if (dmi == null)
            {
                return(null);
            }

            XboxDMI       decoded = dmi.Value;
            StringBuilder sb      = new StringBuilder();

            sb.Append("Catalogue number: ");
            for (int i = 0; i < 2; i++)
            {
                sb.AppendFormat("{0}", decoded.CatalogNumber[i]);
            }

            sb.Append("-");
            for (int i = 2; i < 7; i++)
            {
                sb.AppendFormat("{0}", decoded.CatalogNumber[i]);
            }

            sb.Append("-");
            sb.AppendFormat("{0}", decoded.CatalogNumber[7]);
            sb.AppendLine();

            sb.AppendFormat("Timestamp: {0}", DateTime.FromFileTimeUtc(decoded.Timestamp)).AppendLine();

            return(sb.ToString());
        }
Exemple #2
0
        public static XboxDMI?DecodeXbox(byte[] response)
        {
            bool isXbox = IsXbox(response);

            if (!isXbox)
            {
                return(null);
            }

            XboxDMI dmi = new XboxDMI
            {
                DataLength = (ushort)((response[0] << 8) + response[1]),
                Reserved1  = response[2],
                Reserved2  = response[3],
                Version    = BitConverter.ToUInt32(response, 4),
                Timestamp  = BitConverter.ToInt64(response, 20)
            };

            byte[] tmp = new byte[8];
            Array.Copy(response, 12, tmp, 0, 8);
            dmi.CatalogNumber = StringHandlers.CToString(tmp);

            return(dmi);
        }