Difference between revisions of "IdStorage"
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
Line 1: | Line 1: | ||
+ | See also [https://playstationdev.wiki/pspdevwiki/index.php?title=IDStorage]. | ||
+ | |||
+ | = Description = | ||
+ | |||
+ | Region of the PSVita eMMC where perconsole info is stored. | ||
+ | |||
= Location = | = Location = | ||
Line 5: | Line 11: | ||
= Structure = | = Structure = | ||
− | + | On PSVita, 128 leaves exist. 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 = | = Content = | ||
+ | |||
+ | == Table of leaves == | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! Leaf | + | ! Leaf Index !! 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 "SMI" header. SMI data: factory firmware encrypted and signed | ||
|- | |- | ||
− | |||
|} | |} |
Revision as of 22:49, 15 February 2020
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, 128 leaves exist. 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 |
---|---|---|---|
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 "SMI" header. SMI data: factory firmware encrypted and signed |