Difference between revisions of "IdStorage"

From Vita Development Wiki
Jump to navigation Jump to search
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Idstorage data is stored at first raw partition (code 0x1). Use https://gitlab.com/molecule/sceutils/blob/master/extract_idstorage.py to extract.
+
See also [https://playstationdev.wiki/pspdevwiki/index.php?title=IDStorage].
  
First 0x200 bytes of the partition is the index table, an array of 2-byte integers, which maps idstorage leaf to idstorage index. To find the index of a leaf, go through the array and note index of the element with the value of the desired leaf. Then, seek to <code>512 * index</code> and read out the leaf data.
+
= Description =
  
All leafs are of size 512 bytes.
+
Region of the PSVita eMMC where perconsole info is stored.
 +
 
 +
= Location =
 +
 
 +
Idstorage data is stored at first raw partition (code 0x1). Use [https://github.com/TeamMolecule/sceutils/blob/master/extract_idstorage.py] to extract.
 +
 
 +
= Structure =
 +
 
 +
On PSVita, max 993 leaves exist. Many leaves are empty, Some are empty, others are unique, and there are others which are duplicated. All leaves are of size 512 bytes.
 +
 
 +
First 0x20 * 0x200 bytes of the IDStorage eMMC partition is the index table, an array of 2-byte integers, which maps idstorage leaf to idstorage index. To find the index of a leaf, go through the array and note index of the element with the value of the desired leaf. Then, seek to <code>512 * index</code> and read out the leaf data.
 +
 
 +
= Content =
 +
 
 +
== Table of leaves ==
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Leaf           !! Description
+
! Leaf Index !! Empty? !! Unique? !! Notes
 +
|-
 +
| 0x00->0x07 || No || No || SceIdStoragePspCertificates
 +
|-
 +
| 0x08->0x1F || Yes || No ||
 +
|-
 +
| 0x20->0x27 || Yes || No || This is equal to SceIdStoragePspCertificates from  leaf 0x00 to 0x07.
 +
|-
 +
| 0x28->0x3F || Yes || No ||
 +
|-
 +
| 0x40->0x47 || No || Yes || SceIdStoragePsp2Certificates
 +
|-
 +
| 0x48->0x4F || No || Yes || It looks like a cert, but it may actually be useless data.
 +
|-
 +
| 0x50->0x7D || Yes || No ||
 +
|-
 +
| 0x7E || No || Yes ||
 +
|-
 +
| 0x7F || Yes || No ||
 +
|-
 +
| 0x80 || No || Yes || Special leaf with "SMI" header. SMI data: factory firmware encrypted and signed. Contains minver at offset 0x08 (size 4 bytes).
 +
|-
 +
| 0x100 || No || Yes || Build data strings.
 +
|-
 +
| 0x102 || No || Yes || Like idstorage mgmt data, Some strings, Like some flags, And like mac address, Maybe more?
 +
|-
 +
| 0x103 || No || Yes || Hw info, Syscon version (include DL verstion), Production date, Mac address, Mac address (USB), some strings, and more.
 +
|-
 +
| 0x110 || No || Yes || Manufacturing flags (3 byte) + 0xFF padding.
 +
|-
 +
| 0x111 || No || Yes || Mac address (6 byte) + 0xFF padding.
 +
|-
 +
| 0x112 || No || Yes || Serial number wide strings.
 +
|-
 +
| 0x113 || No || Yes || 0xFFed.
 +
|-
 +
| 0x114 || No || Yes || some data (0x40 byte) + 0xFF padding.
 +
|-
 +
| 0x115 || No || Yes || Model strings + 0xFF padding.
 
|-
 
|-
| 0x80            || SMI data: factory firmware encrypted and signed
 
 
|}
 
|}

Revision as of 00:14, 13 May 2021

See also [1].

Description

Region of the PSVita eMMC where perconsole info is stored.

Location

Idstorage data is stored at first raw partition (code 0x1). Use [2] to extract.

Structure

On PSVita, max 993 leaves exist. Many leaves are empty, Some are empty, others are unique, and there are others which are duplicated. All leaves are of size 512 bytes.

First 0x20 * 0x200 bytes of the IDStorage eMMC partition is the index table, an array of 2-byte integers, which maps idstorage leaf to idstorage index. To find the index of a leaf, go through the array and note index of the element with the value of the desired leaf. Then, seek to 512 * index and read out the leaf data.

Content

Table of leaves

Leaf Index Empty? Unique? Notes
0x00->0x07 No No SceIdStoragePspCertificates
0x08->0x1F Yes No
0x20->0x27 Yes No This is equal to SceIdStoragePspCertificates from leaf 0x00 to 0x07.
0x28->0x3F Yes No
0x40->0x47 No Yes SceIdStoragePsp2Certificates
0x48->0x4F No Yes It looks like a cert, but it may actually be useless data.
0x50->0x7D Yes No
0x7E No Yes
0x7F Yes No
0x80 No Yes Special leaf with "SMI" header. SMI data: factory firmware encrypted and signed. Contains minver at offset 0x08 (size 4 bytes).
0x100 No Yes Build data strings.
0x102 No Yes Like idstorage mgmt data, Some strings, Like some flags, And like mac address, Maybe more?
0x103 No Yes Hw info, Syscon version (include DL verstion), Production date, Mac address, Mac address (USB), some strings, and more.
0x110 No Yes Manufacturing flags (3 byte) + 0xFF padding.
0x111 No Yes Mac address (6 byte) + 0xFF padding.
0x112 No Yes Serial number wide strings.
0x113 No Yes 0xFFed.
0x114 No Yes some data (0x40 byte) + 0xFF padding.
0x115 No Yes Model strings + 0xFF padding.