DeviceID: Difference between revisions

From Vita Developer wiki
Jump to navigation Jump to search
No edit summary
(Fixed image)
 
(6 intermediate revisions by one other user not shown)
Line 2: Line 2:


== Description ==
== Description ==
It is a unique 20 bytes (0x14) hexsequence inside your PSVita / PSTV. It is simply the SHA1 hash of [[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 PSVita, else a database refresh is performed.
It is a unique 20 bytes (0x14) hexsequence inside your PSVita / PSTV. It is simply the SHA1 hash of [[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 PSVita, else a database refresh is performed.


Why did SONY not simply used openPSID ?
Why did SCE not simply use 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 PSVita, OpenPSID is used the same way as on PS3 but SONY secured still more its console by using the hash of OpenPSID and not OpenPSID itself.
This way, it's harder for people to know their openPSID. But since we have tm0: partition read access from 3.00 to 3.60, we can just read 0x10 Bytes at offset 0x850 of tm0:npdrm/act.dat to get openPSID.


[[http://www.psdevwiki.com/ps3/File:OpenPSID-to-DID.png|200px|thumb|left|screenshot cannot be displayed]]
On PSVita, 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:]][[id.dat]]
 
  [[Files_on_the_PS_Vita#ux0|ux0:]]calendar/calendar.db
[[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 24: Line 30:
|-
|-
| calendar.db || tbl_app_authentication_info >> column open_psid >> 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C || The value of the Hexsequence is stored as a Text value
| calendar.db || tbl_app_authentication_info >> column open_psid >> 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C || The value of the Hexsequence is stored as a Text value
|-
|}
|}


Line 30: Line 35:
|-
|-
| [[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 44:
|-
|-
| DID || 20 bytes (0x14) || 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C
| DID || 20 bytes (0x14) || 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C
|-
|}
|}

Latest revision as of 21:41, 30 April 2023


Description[edit | edit source]

It is a unique 20 bytes (0x14) hexsequence inside your PSVita / PSTV. It is simply the SHA1 hash of 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 PSVita, else a database refresh is performed.

Why did SCE not simply use 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 PSVita, 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.

OpenPSID-to-DID.png

 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 of the Hexsequence is stored as a Text value
Psid.png

Structure[edit | edit source]

Name length Example
DID 20 bytes (0x14) 297C4C0FA1F5A6E374FE4FE65535E03DC1643F2C