namespace BinaryObjectScanner.Models.N3DS { /// /// A format used to store information about a title (installed title, DLC, etc.) /// and all its installed contents, including which contents they consist of and /// their SHA256 hashes. /// /// public sealed class TitleMetadata { /// /// Signature Type /// public SignatureType SignatureType; /// /// Signature size /// public ushort SignatureSize; /// /// Padding size /// public byte PaddingSize; /// /// Signature /// public byte[] Signature; /// /// Padding /// public byte[] Padding1; /// /// Signature Issuer /// public string Issuer; /// /// Version /// public byte Version; /// /// CaCrlVersion /// public byte CaCrlVersion; /// /// SignerCrlVersion /// public byte SignerCrlVersion; /// /// Reserved /// public byte Reserved1; /// /// System Version /// public ulong SystemVersion; /// /// TitleID /// public ulong TitleID; /// /// Title Type /// public uint TitleType; /// /// Group ID /// public ushort GroupID; /// /// Save Data Size in Little Endian (Bytes) (Also SRL Public Save Data Size) /// public uint SaveDataSize; /// /// SRL Private Save Data Size in Little Endian (Bytes) /// public uint SRLPrivateSaveDataSize; /// /// Reserved /// public byte[] Reserved2; /// /// SRL Flag /// public byte SRLFlag; /// /// Reserved /// public byte[] Reserved3; /// /// Access Rights /// public uint AccessRights; /// /// Title Version /// public ushort TitleVersion; /// /// Content Count (big-endian) /// public ushort ContentCount; /// /// Boot Content /// public ushort BootContent; /// /// Padding /// public byte[] Padding2; /// /// SHA-256 Hash of the Content Info Records /// public byte[] SHA256HashContentInfoRecords; /// /// There are 64 of these records, usually only the first is used. /// public ContentInfoRecord[] ContentInfoRecords; /// /// There is one of these for each content contained in this title. /// (Determined by "Content Count" in the TMD Header). /// public ContentChunkRecord[] ContentChunkRecords; /// /// Certificate chain /// /// /// https://www.3dbrew.org/wiki/Title_metadata#Certificate_Chain /// public Certificate[] CertificateChain; } }