IdStorage: Difference between revisions
Jump to navigation
Jump to search
Line 11: | Line 11: | ||
= Structure = | = Structure = | ||
On PSVita, | 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. | 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. |
Revision as of 23:37, 11 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 | No | No | 0x20 is equal to 0x00 |
0x01 | No | No | 0x21 is equal to 0x01 |
0x02 | No | No | 0x22 is equal to 0x02 |
0x03 | No | No | 0x23 is equal to 0x03 |
0x04 | No | No | 0x24 is equal to 0x04 |
0x05 | No | No | 0x25 is equal to 0x05 |
0x06 | No | No | 0x26 is equal to 0x06 |
0x07 | No | No | 0x27 is equal to 0x07 |
0x08->0x1F | Yes | No | |
0x28->0x3F | Yes | No | |
0x40 | No | Yes | |
0x41 | No | Yes | |
0x42 | No | Yes | |
0x43 | No | Yes | |
0x44 | No | Yes | Some parts signatures |
0x45 | No | Yes | |
0x46 | No | Yes | |
0x47 | No | Yes | |
0x48 | No | Yes | |
0x49 | No | Yes | |
0x4A | No | Yes | |
0x4B->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. |