Line 110: |
Line 110: |
| = SNVS = | | = SNVS = |
| | | |
− | Ernie provides raw storage in its EEPROM, named NVS (Non-Volatile Storage). The OS partitions some of this storage for encrypted data. The keys to encrypt/decrypt this data is from slots 0x502-0x504. They are derived by second_loader by encrypting using AES-256-CBC a seed with keyslot 0x216, which is console unique. Consoles with minimum firmware < 0.996 use a set of static keys found in second_loader. Minimum firmware comes from IdStorage SMI leaf. | + | Ernie provides raw storage in its EEPROM, named NVS (Non-Volatile Storage). The OS partitions some of this storage for encrypted data. The keys to encrypt/decrypt these data are from cmep keyslots 0x502-0x504. They are derived by second_loader by encrypting using AES-256-CBC a seed with cmep keyslot 0x216, which is console unique. Consoles with minimum firmware < 0.996 use a set of static keys found in second_loader. Minimum firmware comes from IdStorage SMI leaf. |
| + | |
| + | {| class="wikitable" |
| + | |- |
| + | ! Offset !! Size !! Name !! Comment !! Used by |
| + | |- |
| + | | 0 || 0x20 || Mgmt Data || Embeds SNVS flags and ProductMode. Used for Update, PM and QAF. XTS encrypted sector. 0x10 data + 0x10 CMAC || "sceSblQafManagerSetFlag" (sub_81001610 on FW 0.990), "SpkgInfoUtilGetSNVSFlagStatus" and "SpkgInfoUtilSetSNVSFlagStatus" (on FW 0.931), setProductMode |
| + | |- |
| + | | 0xE0 || 0x1C0 || SNVS Sectors || 19 XTS encrypted sectors of size 0x20 bytes handled by update_service_sm.self || "SpkgInfoUtilInitForUpdater" on FW 0.931 |
| + | |- |
| + | | 0x2A0 || 0x20 || Qa Flag Version || 0x10 bytes data + 0x10 bytes AES128CMAC. If unused, 0xFFed. || "sceSblQafManagerSetQaFlagVersion" on FW 0.940 |
| + | |- |
| + | | 0x2C0 || 0x140 || Unknown || 0xFFed || |
| + | |} |
| + | |
| + | == XTS encrypted sectors == |
| + | |
| + | {| class="wikitable" |
| + | |- |
| + | ! Offset !! Size !! Name !! Comment !! Used by |
| + | |- |
| + | | 0 || 0x20 || Mgmt Data || Embeds SNVS flags and ProductMode. Used for Update, PM and QAF. 0x10 data + 0x10 CMAC || "sceSblQafManagerSetFlag" (sub_81001610 on FW 0.990), "SpkgInfoUtilGetSNVSFlagStatus" and "SpkgInfoUtilSetSNVSFlagStatus" (on FW 0.931), setProductMode |
| + | |- |
| + | | 0x20 || 0x20 || SNVS Sectors || System Software version info. || |
| + | |- |
| + | | 0x40 || 0x20 || SNVS Sectors || Processor version info. Current System Sofware version, baryon version, unknown processor, factory System Software version. || |
| + | |- |
| + | | 0x60 || 0x20 || SNVS Sectors || Some flags. || |
| + | |- |
| + | | 0xA0 || 0x20 || SNVS Sectors || SLB2 sha256 (act or ina). || |
| + | |- |
| + | | 0xC0 || 0x20 || SNVS Sectors || SLB2 sha256 (act or ina). || |
| + | |- |
| + | | 0xE0 || 0x1C0 || SNVS Sectors || unknown sectors || |
| + | |} |
| | | |
| = Firmware = | | = Firmware = |
| | | |
| See [[Ernie Firmware]] | | See [[Ernie Firmware]] |