Editing Spock
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
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 = | = 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. | 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 34: | Line 10: | ||
SPOCK Operations: | SPOCK Operations: | ||
0x01: Init1 | 0x01: Init1 | ||
0x02: | 0x02: Init2 | ||
0x03: Step1 | 0x03: Step1 | ||
0x04: Step2 | 0x04: Step2 | ||
Line 40: | Line 16: | ||
0x06: | 0x06: | ||
0x07: | 0x07: | ||
0x08: Decrypt UMD master key | 0x08: Decrypt UMD master key | ||
0x09: Decrypt IDStorage UMD leaves | 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> | ||
Line 50: | Line 26: | ||
== Command 1 (Init 1) == | == Command 1 (Init 1) == | ||
== Command 2 ( | == Command 2 (Init 2) == | ||
== Command 3 (Step 1) == | == Command 3 (Step 1) == | ||
Line 62: | Line 38: | ||
== Command 7 == | == Command 7 == | ||
== Command 8 (Decrypt UMD master key | == Command 8 (Decrypt UMD master key) == | ||
== Command 9 (Decrypt IDStorage UMD leaves | == 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. | 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. | ||
<pre> | <pre> | ||
0x9F, 0x46, 0xF9, 0xFC, 0xFA, 0xB2, 0xAD, 0x05, 0x69, 0xF6, 0x88, 0xD8, 0x79, 0x4B, 0x92, 0xBA | |||
</pre> | </pre> | ||
Line 76: | Line 52: | ||
== Command 10 (0xA) (Decrypt UMD raw sectors) == | == Command 10 (0xA) (Decrypt UMD raw sectors) == | ||
== Command 11 | == Command 11 (Reset Spock) == | ||
== Command 12 ( | == Command 12 (Read RAW UMD Sectors?) == | ||
* Seems to exist | * Seems to exist on KICHO DENCHO PSP firmware, inside UMDMAN.prx | ||
= Where are spock commands used = | = Where are spock commands used = | ||
* Commands 8 and 0xA are used on psp retail firmware, as well as testkit firmware | * Commands 8 and 10 (0xA) are used on psp retail firmware, as well as testkit firmware | ||
* Commands 1, 2, 3, 4, 5, 8, 9, 0xA and 0xB are used on AV test tool firmware | * Commands 1, 2, 3, 4, 5, 8, 9, 0xA and 0xB are used on AV test tool firmware | ||
* Commands 1, 2, 3, 4, 5, 8, 9, 0xA, 0xB and 0xC are used on Kicho Dencho firmware, which is a special factory firmware. | * Commands 1, 2, 3, 4, 5, 8, 9, 0xA, 0xB and 0xC are used on Kicho Dencho firmware, which is a special factory firmware. | ||
* Usage of these commands can always be found in UMDMAN.prx | * Usage of these commands can always be found in UMDMAN.prx |