Editing Rights Information Files
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
Can be found in: | |||
* <code>/user/license/*.rif</code>, <code>/user/license/*.idx</code> | * <code>/user/license/*.rif</code>, <code>/user/license/*.idx</code> | ||
* <code>/user/home/*/license/*.rif</code>, <code>/user/home/*/license/*.idx</code> | * <code>/user/home/*/license/*.rif</code>, <code>/user/home/*/license/*.idx</code> | ||
* <code>/mnt/disc/license/rif</code> | * <code>/mnt/disc/license/rif</code> | ||
* <code>/preinst2/app/CUSA00001/app.rif</code> | * <code>/preinst2/app/CUSA00001/app.rif</code> | ||
[[Rif/samples|Sample rif files]]. | |||
== RIF File == | |||
=== RIF | For a rif file that is paired with a idx file, see [[#RIFA File|RIFA file]]. | ||
=== RIF === | |||
Fields are big-endian. | Fields are big-endian. | ||
Line 27: | Line 22: | ||
! style="width: 40%" | Remark | ! style="width: 40%" | Remark | ||
|- | |- | ||
| | | Signature || <code>0x000</code> || 4 || <code>52 49 46 00</code> ('RIF\0') || | ||
|- | |- | ||
| Version || <code>0x004</code> || 2 || <code>00 01</code> || | | Version || <code>0x004</code> || 2 || <code>00 01</code> || 1 (current) | ||
|- | |- | ||
| Unknown || <code>0x006</code> || 2 || <code>FF FF</code> || | | Unknown || <code>0x006</code> || 2 || <code>FF FF</code> || | ||
|- | |- | ||
| | | PSN Account ID || <code>0x008</code> || 8 || <code>AB CD EF 01 02 34 78 91</code> || 0 if not KDS RIF | ||
|- | |- | ||
| Start Timestamp || <code>0x010</code> || 8 || <code>00 00 00 00 52 85 64 00</code> || Start timestamp (unix/epoch) | | Start Timestamp || <code>0x010</code> || 8 || <code>00 00 00 00 52 85 64 00</code> || Start timestamp (unix/epoch) | ||
Line 43: | Line 38: | ||
| Type || <code>0x050</code> || 2 || <code>01 01</code> || See [[#Type|Type]] | | Type || <code>0x050</code> || 2 || <code>01 01</code> || See [[#Type|Type]] | ||
|- | |- | ||
| | | Unknown || <code>0x052</code> || 2 || <code>00 0F</code> || | ||
|- | |- | ||
| | | Unknown || <code>0x054</code> || 2 || <code>00 1A</code> || | ||
|- | |- | ||
| SKU Flag || <code>0x056</code> || 2 || <code>00 01</code> || | | SKU Flag || <code>0x056</code> || 2 || <code>00 01</code> || | ||
|- | |- | ||
| Extra Flags || <code>0x058</code> || 4 || <code>00 00 00 00</code> || | | Extra Flags || <code>0x058</code> || 4 || <code>00 00 00 00</code> || | ||
|- | |- | ||
| Unknown || <code>0x060</code> || 4 || <code>00 02 00 00</code> | | Unknown || <code>0x060</code> || 4 || <code>00 02 00 00</code> || | ||
|- | |- | ||
| Unknown || <code> | | Unknown || <code>0x064</code> || 476 || - || | ||
|- | |- | ||
| Disc Key || <code>0x240</code> || 32 || - || | | Disc Key || <code>0x240</code> || 32 || - || | ||
|- | |- | ||
| Secret Encryption IV || <code>0x260</code> || 16 || - || | | Secret Encryption IV || <code>0x260</code> || 16 || - || | ||
|- | |- | ||
| Encrypted Secret || <code>0x270</code> || 144 || - || See [[#Secret|Secret]] for when decrypted | | Encrypted Secret || <code>0x270</code> || 144 || - || See [[#Secret|Secret]] for when decrypted | ||
|- | |- | ||
| Signature || <code>0x300</code> || 256 || - || | | RSA Signature || <code>0x300</code> || 256 || - || Verified using public key depending on type | ||
|} | |} | ||
=== Type === | ==== Type ==== | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
! style="width: | ! style="width: 15%" | Type | ||
! style="width: 10%" | <abbr title="Firmware Type">FW Type</abbr> | ! style="width: 10%" | <abbr title="Firmware Type">FW Type</abbr> | ||
! style="width: | ! style="width: 10%" | <abbr title="Minimum Version">Min Ver</abbr> | ||
! style="width: | ! style="width: 20%" | Name | ||
! style="width: 45%" | Remark | |||
! style="width: | |||
|- | |- | ||
| <code>0x000</code> | | <code>0x000</code> | ||
| | | ? | ||
| 1 | | 1 | ||
| KDS RIF | |||
| | |||
| | |||
|- | |- | ||
| <code>0x101</code> | | <code>0x101</code> | ||
| rowspan="2" | | | rowspan="2" | ? | ||
| rowspan="2" | 1 | | rowspan="2" | 1 | ||
| rowspan="2" | Isolated RIF | |||
| rowspan="2" | Isolated | |||
| rowspan="2" | | | rowspan="2" | | ||
|- | |- | ||
Line 111: | Line 83: | ||
|- | |- | ||
| <code>0x102</code> | | <code>0x102</code> | ||
| | | ? | ||
| 1 | | 1 | ||
| Disc | | Disc RIF | ||
| | | | ||
|- | |- | ||
| <code>0x200</code> | | <code>0x200</code> | ||
| rowspan="3" | | | rowspan="3" | ? | ||
| rowspan="3" | 1 | | rowspan="3" | 1 | ||
| rowspan="3" | Fake/Debug RIF | |||
| rowspan="3" | Fake/Debug | |||
| rowspan="3" | | | rowspan="3" | | ||
|- | |- | ||
Line 129: | Line 97: | ||
|- | |- | ||
| <code>0x202</code> | | <code>0x202</code> | ||
|} | |} | ||
=== Secret === | === Secret === | ||
{| class="wikitable sortable" | {| class="wikitable sortable" | ||
Line 168: | Line 108: | ||
! style="width: 40%" | Remark | ! style="width: 40%" | Remark | ||
|- | |- | ||
| | | Unknown || <code>0x00</code> || 16 || - || | ||
|- | |- | ||
| | | Unknown || <code>0x10</code> || 16 || - || | ||
|- | |||
| Unknown || <code>0x20</code> || 16 || - || | |||
|- | |- | ||
| Content Key Seed || <code>0x30</code> || 16 || - || Used to generate PFS key | | Content Key Seed || <code>0x30</code> || 16 || - || Used to generate PFS key | ||
Line 176: | Line 118: | ||
| SELF Key Seed || <code>0x40</code> || 16 || - || Used to generate SELF key | | SELF Key Seed || <code>0x40</code> || 16 || - || Used to generate SELF key | ||
|- | |- | ||
| Unknown || <code>0x50</code> || 16 || - || | | Unknown || <code>0x50</code> || 16 || - || | ||
|- | |- | ||
| Unknown || <code>0x60</code> || 16 || - || | | Unknown || <code>0x60</code> || 16 || - || | ||
|- | |- | ||
| Entitlement Key || <code>0x70</code> || 16 || - || | | Entitlement Key || <code>0x70</code> || 16 || - || | ||
|- | |- | ||
| | | Unknown || <code>0x80</code> || 16 || - || | ||
|} | |} | ||
== RIFA File == | == RIFA File == | ||
See also [[#RIDX Structure|RIDX structure]] for the paired | See also [[#RIDX Structure|RIDX structure]] for the paired idx file. | ||
When in this form, a [[#RIFA Header|RIFA header is present]], followed by sequential [[#RIF| | When in this form, a [[#RIFA Header|RIFA header is present]], followed by sequential [[#RIF|rifs]]. | ||
=== RIFA | === RIFA Header === | ||
Fields are big-endian. | Fields are big-endian. | ||
Line 202: | Line 144: | ||
! style="width: 40%" | Remark | ! style="width: 40%" | Remark | ||
|- | |- | ||
| | | Signature || <code>0x000</code> || 4 || <code>52 49 46 00</code> ('RIF\0') || | ||
|- | |- | ||
| [[Service ID]] || <code>0x004</code> || 48 || <code>IP9100-CUSA00001_00</code> || ''Size assumed'' | | [[Service ID]] || <code>0x004</code> || 48 || <code>IP9100-CUSA00001_00</code> || ''Size assumed'' | ||
Line 211: | Line 153: | ||
== RIDX File == | == RIDX File == | ||
=== RIDX | === RIDX Header === | ||
Fields are little-endian. | Fields are little-endian. | ||
Line 222: | Line 164: | ||
! style="width: 40%" | Remark | ! style="width: 40%" | Remark | ||
|- | |- | ||
| | | Signature || <code>0x00</code> || 4 || <code>78 64 69 72</code> ('xdir') || | ||
|- | |- | ||
| | | RIF Count || <code>0x04</code> || 4 || <code>01 00 00 00</code> || | ||
|- | |- | ||
| Version || <code>0x08</code> || 1 || <code>01</code> || 1 (current) | | Version || <code>0x08</code> || 1 || <code>01</code> || 1 (current) | ||
Line 230: | Line 172: | ||
| [[Service ID]] || <code>0x09</code> || 19 || <code>IP9100-CUSA00001_00</code> || | | [[Service ID]] || <code>0x09</code> || 19 || <code>IP9100-CUSA00001_00</code> || | ||
|- | |- | ||
| Unknown || <code>0x1C</code> || 4 || code>01 | | Unknown || <code>0x1C</code> || 4 || <code>01 00 00 00</code> || | ||
|- | |- | ||
| Entries || <code>0x20</code> || 48 * | | Entries || <code>0x20</code> || 48 * RIF Count || - || See [[#RIDX Entry|RIDX entry]] | ||
|} | |} | ||
Line 246: | Line 188: | ||
! style="width: 40%" | Remark | ! style="width: 40%" | Remark | ||
|- | |- | ||
| [[Entitlement | | [[Entitlement label]] || <code>0x00</code> || 16 || <code>PLAYROOM00000000</code> || | ||
|- | |- | ||
| | | Offset || <code>0x10</code> || 8 || <code>00 04 00 00 00 00 00 00</code> || Offset into [[#RIFA File|RIFA file]] | ||
|- | |- | ||
| | | Size || <code>0x18</code> || 8 || <code>00 04 00 00 00 00 00 00</code> || | ||
|- | |- | ||
| Unknown || <code>0x20</code> || 1 || <code>01</code> || | | Unknown || <code>0x20</code> || 1 || <code>01</code> || | ||
|- | |- | ||
| Unknown || <code>0x21</code> || | | Unknown || <code>0x21</code> || 15 || - || | ||
|} | |} | ||
{{File Formats}} | {{File Formats}} | ||
<noinclude>[[Category:Main]]</noinclude> | <noinclude>[[Category:Main]]</noinclude> |