IdStorage

From Vita Developer wiki
Revision as of 18:13, 10 February 2019 by Yoti (talk | contribs) (→‎Sections)
Jump to navigation Jump to search

Region of the Vita where perconsole info is stored.
Currently 128 leafs exist. Some are empty, others are unique, and there are others which are duplicated.
Obtained with "SceIdStorage", 0xe1ac6d7c, 0xeb00c509 | function ksceIdStorageReadLeaf(int leafnum, int buf, int unk0)
Buf size is 0x200 (512) and maximum leaf number is 0x80 (128).

Table of leafs

Index (Range) Empty ? Unique? Notes
00 No No 0x20 is equal to 0x00
01 No No 0x21 is equal to 0x01
02 No No 0x22 is equal to 0x02
03 No No 0x23 is equal to 0x03
04 No No 0x24 is equal to 0x04
05 No No 0x25 is equal to 0x05
06 No No 0x26 is equal to 0x06
07 No No 0x27 is equal to 0x07
08->1F Yes No
28->3F Yes No
40 No Yes
41 No Yes
42 No Yes
43 No Yes
44 No Yes
45 No Yes
46 No Yes
47 No Yes
48 No Yes
49 No Yes
4A No Yes
4B->7D Yes No
7E No Yes
7F Yes No
80 No Yes Special Leaf with header SMI

Sections

  • Some of the leafs contain sections similar in PSP and PS3 consoles. Here is the description of one section, sumarized:
Description Length Note
Data 0x10 contains the actual data of the file (either idps or psid)
plaintext public key 0x28 contains the section's public key (without padding)
R 0x14 part of the ecdsa signature pair (r,s)
S 0x14 part of the ecdsa signature pair (r,s)
public key 0x28 ecdsa public key (unknown what this is doing here)
encrypted private key 0x20 encrypted blob that contains the section's private key (with padding)
omac/cmac1 0x10 hash of the previous information in CMAC1/OMAC mode
  • No padding in PSP and PSVita Sections !
  • Some sections aditionally contain 0x30 random bytes!
  • Section 0x80 (SMI) contains minver at offset 0x08-0x0B (size 4 bytes, endian-swapped)