mirror of
https://github.com/WiiDatabase/nusdownloader.git
synced 2024-11-23 18:59:16 +01:00
69 lines
1.7 KiB
C#
69 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
namespace NUS_Downloader
|
|
{
|
|
class TMD
|
|
{
|
|
// TMD Variables
|
|
public byte[] SignatureType;
|
|
|
|
|
|
|
|
|
|
/* Signature Types
|
|
public enum SigTypes : byte[]
|
|
{
|
|
RSA_2048 = new byte[4] {0x00, 0x01, 0x00, 0x01},
|
|
RSA_4048 = new byte[4] {0x00, 0x01, 0x00, 0x01}
|
|
} */
|
|
/*
|
|
* Title metadata is a format used to store information about a title (a single standalone game, channel, etc.) and all its installed contents, including which contents they consist of and their SHA1 hashes.
|
|
|
|
Many operations are done in terms of 64-byte blocks, which means you will often see padding out to the nearest 64-byte boundary at the end of a field.
|
|
Contents
|
|
|
|
Structure
|
|
Header
|
|
Start Length Description
|
|
0x000 4 Signature type
|
|
0x004 256 Signature
|
|
0x104 60 Padding modulo 64
|
|
0x140 64 Issuer
|
|
0x180 1 Version
|
|
0x181 1 ca_crl_version
|
|
0x182 1 signer_crl_version
|
|
0x183 1 Padding modulo 64
|
|
0x184 8 System Version (the ios that the title need)
|
|
0x18C 8 Title ID
|
|
0x194 4 Title type
|
|
0x198 2 Group ID
|
|
0x19A 62 reserved
|
|
0x1D8 4 Access rights (flags for DVD-video access and full PPC hardware access)
|
|
0x1DC 2 Title version
|
|
0x1DE 2 Number of contents (nbr_cont)
|
|
0x1E0 2 boot index
|
|
0x1E2 2 Padding modulo 64
|
|
0x1E4 36*nbr_cont Contents
|
|
Content
|
|
Start Length Description
|
|
0x00 4 Content ID
|
|
0x04 2 Index
|
|
0x06 2 Type
|
|
0x08 8 Size
|
|
0x10 20 SHA1 hash
|
|
Certificates
|
|
Start Length Description
|
|
0x000 4 Signature type
|
|
0x004 256 Signature
|
|
0x104 32 Issuer
|
|
0x124 4 Tag
|
|
0x128 64 Name
|
|
0x168 Key
|
|
*/
|
|
|
|
|
|
}
|
|
}
|