Changes

762 bytes added ,  03:20, 1 September 2022
β†’β€ŽMain header: the last field is not padding β€œmod 64” and GPL ES defines it as minor version
Line 4: Line 4:     
== Structure ==
 
== Structure ==
βˆ’
=== Header ===
+
=== Signed blob header ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|- style="background-color: #ddd;"
 
|- style="background-color: #ddd;"
βˆ’
! Start
+
! Absolute offset
 
! Length
 
! Length
 
! Description
 
! Description
Line 17: Line 17:  
| 0x004
 
| 0x004
 
| 256
 
| 256
βˆ’
| Signature
+
| Signature covering Main header and root CMD group hash in the v1 header
 
|-
 
|-
 
| 0x104
 
| 0x104
 
| 60
 
| 60
 
| Padding modulo 64
 
| Padding modulo 64
 +
|}
 +
 +
=== Main header ===
 +
{| class="wikitable"
 +
|- style="background-color: #ddd;"
 +
! Absolute offset
 +
! Length
 +
! Description
 
|-
 
|-
 
| 0x140
 
| 0x140
Line 45: Line 53:  
| 0x184
 
| 0x184
 
| 8
 
| 8
βˆ’
| System Version (the ios that the title needs)
+
| System Version (the [[OS]] used by the title. For non-Espresso binaries, set to 0-0.)
 
|-
 
|-
 
| 0x18C
 
| 0x18C
Line 81: Line 89:  
| 0x1E2
 
| 0x1E2
 
| 2
 
| 2
βˆ’
| Padding modulo 64
+
| Minor version
 +
|}
 +
 
 +
=== v1 header ===
 +
{| class="wikitable"
 +
|- style="background-color: #ddd;"
 +
! Absolute offset
 +
! Length
 +
! Description
 
|-
 
|-
 
| 0x1E4
 
| 0x1E4
βˆ’
| 36*nbr_cont
+
| 32
βˆ’
| Contents
+
| SHA-256 hash of CMD groups
 +
|-
 +
| 0x204
 +
| 2112
 +
| 64 CMD groups
 +
 
 +
{| class="wikitable"
 +
|- style="background-color: #ddd;"
 +
! Offset
 +
! Length
 +
! Description
 +
|-
 +
| 0x00
 +
| 2
 +
| Offset
 +
|-
 +
| 0x02
 +
| 2
 +
| Number of CMDs in the group
 +
|-
 +
| 0x04
 +
| 32
 +
| SHA-256 hash of the CMDs in the group
 
|}
 
|}
 +
|}
 +
 +
=== Content metadata (CMD) ===
 +
The TMD headers are followed by a variable number of CMDs (one per content).
   βˆ’
=== Content ===
   
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
βˆ’
! Start
+
! Offset
 
! Length
 
! Length
 
! Description
 
! Description
Line 112: Line 153:  
|-
 
|-
 
| 0x10
 
| 0x10
βˆ’
| 20
+
| 32
βˆ’
| SHA1 hash
+
| SHA-1 hash padded with zeros to the length of a SHA-256 hash
 
|}
 
|}
  
346

edits