Spock: Difference between revisions
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) (Created page with "Spock is the PSP hardware cryptography engine responsible for the raw sector level decryption of UMD’s. Named after Captain Spock of Star Trek. = Commands = <pre> SPOCK Op...") |
CelesteBlue (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
Spock is the PSP hardware cryptography engine responsible for the raw sector level decryption of UMD’s. Named after Captain Spock of Star Trek. | Spock is the PSP hardware cryptography engine responsible for the raw sector level decryption of UMD’s. Named after Captain Spock of Star Trek. | ||
= Executing commands = | |||
You can more or less access Spock through Lepton's ram (there is some hidden test mode on Lepton allowing you to do this). Mathieulh will tell more on this later if he ever get the time to clean up those sources. | |||
= Commands = | = Commands = | ||
Line 12: | Line 16: | ||
0x06: | 0x06: | ||
0x07: | 0x07: | ||
0x08: Decrypt UMD | 0x08: Decrypt UMD master key | ||
0x09: Decrypt | 0x09: Decrypt IDStorage UMD leaves | ||
0x0A: Decrypt UMD Disc Sector | 0x0A: Decrypt UMD Disc Sector | ||
0x0B: Reset SPOCK | 0x0B: Reset SPOCK | ||
0x0C: | 0x0C: | ||
</pre> | </pre> | ||
== Command 1 == | |||
== Command 2 == | |||
== Command 3 == | |||
== Command 4 == | |||
== Command 5 == | |||
== Command 6 == | |||
== Command 7 == | |||
== Command 8 (decrypt UMD master key) == | |||
== Command 9 (decrypt IDStorage UMD leaves) == | |||
Spock command 9 key is used to decrypt UMD leaves stored in [[IDStorage]]. Those leaves are then used in Spock command 8 to decrypt the UMD master key (per disc key). Then this key is used in Spock command 10 to decrypt the UMD raw sectors. Each different PSP region seems to have its own set of UMD keys. | |||
<source lang="C"> | |||
u8 spock_cmd9_key[16] = { 0x9F, 0x46, 0xF9, 0xFC, 0xFA, 0xB2, 0xAD, 0x05, | |||
0x69, 0xF6, 0x88, 0xD8, 0x79, 0x4B, 0x92, 0xBA}; | |||
</source> | |||
[https://web.archive.org/web/20141201091221/http://pastie.org/1467912 more info on Spock by mathieulh] | |||
== Command 10 == | |||
== Command 11 == | |||
== Command 12 == |
Revision as of 23:16, 4 March 2020
Spock is the PSP hardware cryptography engine responsible for the raw sector level decryption of UMD’s. Named after Captain Spock of Star Trek.
Executing commands
You can more or less access Spock through Lepton's ram (there is some hidden test mode on Lepton allowing you to do this). Mathieulh will tell more on this later if he ever get the time to clean up those sources.
Commands
SPOCK Operations: 0x01: Init1 0x02: Init2 0x03: Step1 0x04: Step2 0x05: Step3 0x06: 0x07: 0x08: Decrypt UMD master key 0x09: Decrypt IDStorage UMD leaves 0x0A: Decrypt UMD Disc Sector 0x0B: Reset SPOCK 0x0C:
Command 1
Command 2
Command 3
Command 4
Command 5
Command 6
Command 7
Command 8 (decrypt UMD master key)
Command 9 (decrypt IDStorage UMD leaves)
Spock command 9 key is used to decrypt UMD leaves stored in IDStorage. Those leaves are then used in Spock command 8 to decrypt the UMD master key (per disc key). Then this key is used in Spock command 10 to decrypt the UMD raw sectors. Each different PSP region seems to have its own set of UMD keys.
u8 spock_cmd9_key[16] = { 0x9F, 0x46, 0xF9, 0xFC, 0xFA, 0xB2, 0xAD, 0x05,
0x69, 0xF6, 0x88, 0xD8, 0x79, 0x4B, 0x92, 0xBA};
more info on Spock by mathieulh