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()); }
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); }