Rights Information Files: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
(Move RIF type information to a table.) |
||
Line 36: | Line 36: | ||
| [[Content ID]] || <code>0x020</code> || 48 || <code>IP9100-CUSA00001_00-PLAYROOM00000000</code> || | | [[Content ID]] || <code>0x020</code> || 48 || <code>IP9100-CUSA00001_00-PLAYROOM00000000</code> || | ||
|- | |- | ||
| Type || <code>0x050</code> || 2 || <code>01 01</code> || | | Type || <code>0x050</code> || 2 || <code>01 01</code> || See [[#Type|Type]] | ||
|- | |- | ||
| Unknown || <code>0x052</code> || 2 || <code>00 0F</code> || | | Unknown || <code>0x052</code> || 2 || <code>00 0F</code> || | ||
Line 61: | Line 57: | ||
|- | |- | ||
| RSA Signature || <code>0x300</code> || 256 || - || Verified using public key depending on type | | RSA Signature || <code>0x300</code> || 256 || - || Verified using public key depending on type | ||
|} | |||
==== Type ==== | |||
{| class="wikitable sortable" | |||
! style="width: 15%" | Type | |||
! style="width: 10%" | <abbr title="Firmware Type">FW Type</abbr> | |||
! style="width: 10%" | <abbr title="Minimum Version">Min Ver</abbr> | |||
! style="width: 20%" | Name | |||
! style="width: 45%" | Remark | |||
|- | |||
| <code>0x000</code> | |||
| ? | |||
| 1 | |||
| KDS RIF | |||
| | |||
|- | |||
| <code>0x101</code> | |||
| rowspan="2" | ? | |||
| rowspan="2" | 1 | |||
| rowspan="2" | Isolated RIF | |||
| rowspan="2" | | |||
|- | |||
| <code>0x302</code> | |||
|- | |||
| <code>0x102</code> | |||
| ? | |||
| 1 | |||
| Disc RIF | |||
| | |||
|- | |||
| <code>0x200</code> | |||
| rowspan="3" | ? | |||
| rowspan="3" | 1 | |||
| rowspan="3" | Fake/Debug RIF | |||
| rowspan="3" | | |||
|- | |||
| <code>0x201</code> | |||
|- | |||
| <code>0x202</code> | |||
|} | |} | ||
Revision as of 02:20, 29 December 2017
Can be found in:
/user/license/*.rif
,/user/license/*.idx
/user/home/*/license/*.rif
,/user/home/*/license/*.idx
/mnt/disc/license/rif
/preinst2/app/CUSA00001/app.rif
RIF File
For a rif file that is paired with a idx file, see RIFA file.
RIF
Fields are big-endian.
Name | Offset | Size | Example | Remark |
---|---|---|---|---|
Signature | 0x000 |
4 | 52 49 46 00 ('RIF\0') |
|
Version | 0x004 |
2 | 00 01 |
1 (current) |
Unknown | 0x006 |
2 | FF FF |
|
PSN Account ID | 0x008 |
8 | AB CD EF 01 02 34 78 91 |
0 if not KDS RIF |
Start Timestamp | 0x010 |
8 | 00 00 00 00 52 85 64 00 |
Start timestamp (unix/epoch) |
End Timestamp | 0x018 |
8 | 7F FF FF FF FF FF FF FF |
End timestamp (unix/epoch), typically INT64_MAX |
Content ID | 0x020 |
48 | IP9100-CUSA00001_00-PLAYROOM00000000 |
|
Type | 0x050 |
2 | 01 01 |
See Type |
Unknown | 0x052 |
2 | 00 0F |
|
Unknown | 0x054 |
2 | 00 1A |
|
SKU Flag | 0x056 |
2 | 00 01 |
|
Extra Flags | 0x058 |
4 | 00 00 00 00 |
|
Unknown | 0x060 |
4 | 00 02 00 00 |
|
Unknown | 0x064 |
476 | - | |
Disc Key | 0x240 |
32 | - | |
Secret Encryption IV | 0x260 |
16 | - | |
Encrypted Secret | 0x270 |
144 | - | See Secret for when decrypted |
RSA Signature | 0x300 |
256 | - | Verified using public key depending on type |
Type
Type | FW Type | Min Ver | Name | Remark |
---|---|---|---|---|
0x000
|
? | 1 | KDS RIF | |
0x101
|
? | 1 | Isolated RIF | |
0x302
| ||||
0x102
|
? | 1 | Disc RIF | |
0x200
|
? | 1 | Fake/Debug RIF | |
0x201
| ||||
0x202
|
Secret
Name | Offset | Size | Example | Remark |
---|---|---|---|---|
Unknown | 0x00 |
16 | - | |
Unknown | 0x10 |
16 | - | |
Unknown | 0x20 |
16 | - | |
Content Key Seed | 0x30 |
16 | - | Used to generate PFS key |
SELF Key Seed | 0x40 |
16 | - | Used to generate SELF key |
Unknown | 0x50 |
16 | - | |
Unknown | 0x60 |
16 | - | |
Entitlement Key | 0x70 |
16 | - | |
Unknown | 0x80 |
16 | - |
RIFA File
See also RIDX structure for the paired idx file.
When in this form, a RIFA header is present, followed by sequential rifs.
RIFA Header
Fields are big-endian.
Name | Offset | Size | Example | Remark |
---|---|---|---|---|
Signature | 0x000 |
4 | 52 49 46 00 ('RIF\0') |
|
Service ID | 0x004 |
48 | IP9100-CUSA00001_00 |
Size assumed |
Unknown | 0x034 |
972 | - |
RIDX File
RIDX Header
Fields are little-endian.
Name | Offset | Size | Example | Remark |
---|---|---|---|---|
Signature | 0x00 |
4 | 78 64 69 72 ('xdir') |
|
RIF Count | 0x04 |
4 | 01 00 00 00 |
|
Version | 0x08 |
1 | 01 |
1 (current) |
Service ID | 0x09 |
19 | IP9100-CUSA00001_00 |
|
Unknown | 0x1C |
4 | 01 00 00 00 |
|
Entries | 0x20 |
48 * RIF Count | - | See RIDX entry |
RIDX Entry
Fields are little-endian.
Name | Offset | Size | Example | Remark |
---|---|---|---|---|
Entitlement label | 0x00 |
16 | PLAYROOM00000000 |
|
Offset | 0x10 |
8 | 00 04 00 00 00 00 00 00 |
Offset into RIFA file |
Size | 0x18 |
8 | 00 04 00 00 00 00 00 00 |
|
Unknown | 0x20 |
1 | 01 |
|
Unknown | 0x21 |
15 | - |