mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-05 00:39:04 +00:00
added: makerom
It has some issues, but I'm going to do anymore work on it.
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
#pragma once
|
||||
|
||||
typedef enum
|
||||
{
|
||||
TYPE_CTR = 0x40,
|
||||
TYPE_DATA = 0x8
|
||||
} tmd_title_type;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
content_Encrypted = 0x0001,
|
||||
content_Optional = 0x4000,
|
||||
content_Shared = 0x8000
|
||||
} tmd_content_types;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 contentID[4];
|
||||
u8 contentIndex[2];
|
||||
u8 contentFlags[2];
|
||||
u8 contentSize[8];
|
||||
u8 contentHash[0x20]; // SHA 256
|
||||
} tmd_content_chunk;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 contentIndexOffset[2];
|
||||
u8 contentCommandCount[2];
|
||||
u8 contentChunkHash[0x20]; // SHA 256
|
||||
} tmd_content_info_record;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 sigType[4];
|
||||
u8 data[0x100];
|
||||
u8 padding[0x3C];
|
||||
} tmd_signature;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u8 issuer[0x40];
|
||||
u8 formatVersion;
|
||||
u8 caCrlVersion;
|
||||
u8 signerCrlVersion;
|
||||
u8 padding0;
|
||||
u8 systemVersion[8];
|
||||
u8 titleID[8];
|
||||
u8 titleType[4];
|
||||
u8 groupID[2];
|
||||
u8 savedataSize[4];
|
||||
u8 privSavedataSize[4]; // Zero for CXI Content0
|
||||
u8 padding1[4];
|
||||
u8 twlFlag; // Zero for CXI Content0
|
||||
u8 padding2[0x31];
|
||||
u8 accessRights[4];
|
||||
u8 titleVersion[2];
|
||||
u8 contentCount[2];
|
||||
u8 bootContent[2];
|
||||
u8 padding3[2];
|
||||
u8 infoRecordHash[0x20]; // SHA-256
|
||||
} tmd_hdr;
|
||||
|
||||
// Prototypes
|
||||
u32 PredictTMDSize(u16 ContentCount);
|
||||
int BuildTMD(cia_settings *ciaset);
|
||||
|
||||
// Read TMD
|
||||
tmd_hdr *GetTmdHdr(u8 *tmd);
|
||||
Reference in New Issue
Block a user