DeviceID: Difference between revisions
CelesteBlue (talk | contribs) No edit summary |
CelesteBlue (talk | contribs) No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[ | On PS Vita, the Device ID is a unique 20-bytes hexadecimal sequence. It is simply the SHA1 hash of the OpenPSID. It is stored inside several files such as [[id.dat]] or calendar.db in order to check that the inserted memory card was not previously in another PS Vita, else a database refresh is performed. | ||
Why did SCE not simply use the OpenPSID? | |||
On PSP, OpenPSID was almost never used except for savedata. | On PSP, OpenPSID was almost never used except for savedata. | ||
On PS3, OpenPSID was used for act.dat checks, savedata / trophies when no PSN account bounded. | On PS3, OpenPSID was used for act.dat checks, savedata / trophies when no PSN account bounded. | ||
On PS Vita, OpenPSID is used the same way as on PS3 but SCE secured still more its console by using the hash of OpenPSID and not OpenPSID itself. | |||
This way, it is harder for people to know their openPSID. But since we have tm0: partition read access with exploits, we can simply read 0x10 Bytes at offset 0x850 of tm0:npdrm/act.dat to get openPSID. | |||
[[File:OpenPSID-to-DID.png]] | |||
[[Files_on_the_PS_Vita#ux0|ux0:]][[id.dat]] | |||
=== Location of the files where it is stored === | === Location of the files where it is stored === | ||
[[Files_on_the_PS_Vita#ux0|ux0:]]calendar/calendar.db | |||
{| class="wikitable" style="text-align:center; font-size:small;" | {| class="wikitable" style="text-align:center; font-size:small;" | ||
Line 23: | Line 25: | ||
| id.dat || DID=297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C | | id.dat || DID=297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C | ||
|- | |- | ||
| calendar.db || tbl_app_authentication_info >> column open_psid >> 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C || The value | | calendar.db || tbl_app_authentication_info >> column open_psid >> 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C || The value is stored as an ASCII text. | ||
|} | |} | ||
Line 30: | Line 31: | ||
|- | |- | ||
| [[File:psid.png|thumb|left]] || | | [[File:psid.png|thumb|left]] || | ||
|} | |} | ||
=== Structure === | === Structure === | ||
{| class="wikitable" style="text-align:center; font-size:small;" | {| class="wikitable" style="text-align:center; font-size:small;" | ||
|- | |- | ||
Line 39: | Line 40: | ||
|- | |- | ||
| DID || 20 bytes (0x14) || 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C | | DID || 20 bytes (0x14) || 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C | ||
|} | |} | ||
[[Category:Software]]<noinclude>[[Category:Main]]</noinclude> |
Latest revision as of 20:22, 25 December 2024
On PS Vita, the Device ID is a unique 20-bytes hexadecimal sequence. It is simply the SHA1 hash of the OpenPSID. It is stored inside several files such as id.dat or calendar.db in order to check that the inserted memory card was not previously in another PS Vita, else a database refresh is performed.
Why did SCE not simply use the OpenPSID?
On PSP, OpenPSID was almost never used except for savedata.
On PS3, OpenPSID was used for act.dat checks, savedata / trophies when no PSN account bounded.
On PS Vita, OpenPSID is used the same way as on PS3 but SCE secured still more its console by using the hash of OpenPSID and not OpenPSID itself.
This way, it is harder for people to know their openPSID. But since we have tm0: partition read access with exploits, we can simply read 0x10 Bytes at offset 0x850 of tm0:npdrm/act.dat to get openPSID.
ux0:id.dat
Location of the files where it is stored[edit | edit source]
ux0:calendar/calendar.db
File | Value | Info |
---|---|---|
id.dat | DID=297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C | |
calendar.db | tbl_app_authentication_info >> column open_psid >> 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C | The value is stored as an ASCII text. |
Structure[edit | edit source]
Name | length | Example |
---|---|---|
DID | 20 bytes (0x14) | 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C |