Editing Storage Manager

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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:
Storage Manager communicates with devices '''/dev/encdec0''' and '''/dev/rbd0''' from LPAR 1 .
Storage Manager communicates with devices '''/dev/encdec0''' and '''/dev/rbd0''' from LPAR 1  
 
<br>
Lv2 Kernel usage e.g. by:
Lv2 Kernel usage e.g. by:
  '''syscall 864''' and '''syscall SYS_SS_MEDIA_ID'''  
  '''syscall 864''' and '''syscall SYS_SS_MEDIA_ID'''  
(note: inside ss_server1.fself embedded in Lv1.self)


  *2nd value from '''[[Repository_Nodes]]'''  '''bus1.id''' is used by Storage Manager  
  *2nd value from '''[[Repository_Nodes]]'''  '''bus1.id''' is used by Storage Manager  
Line 10: Line 9:
  *'''EID4''' data is passed to '''sb_iso_spu_module.self''' module.
  *'''EID4''' data is passed to '''sb_iso_spu_module.self''' module.


== 0x5000 - Security Hardware Framework ==
== 0x5000 - Storage Manager  ==


{| class="wikitable FCK__ShowTableBorders"
{| class="wikitable FCK__ShowTableBorders"
Line 39: Line 38:
|-
|-
| 0x5004  
| 0x5004  
| Authenticate BD Drive (cellSsDrvAuthDrive)
| Authenticate BD Drive
|
|
|
|
|
| Usermode access
|-
|-
| 0x5005  
| 0x5005  
Line 57: Line 56:
|-
|-
| 0x5007  
| 0x5007  
| Authenticate PS3 Game (cellSsDrvAuthDiscPs3)
| Authenticate PS3 Game
|
|
|
|
|
| Usermode access
|-
|-
| 0x5008  
| 0x5008  
Line 66: Line 65:
|
|
|
|
| Usermode access
|
|-
|-
| 0x5009  
| 0x5009  
Line 87: Line 86:
|-
|-
| 0x5011
| 0x5011
| Retrieve M1m for bdv (Bluray Disc Voucher)
|
|
|
|
| Usermode access
|
|
|-
|-
| 0x5012
| 0x5012
| Retrieve "X-I-5-Passphrase" NPpp (Network Product passphrase)
|
|
|
|
| Usermode access
|
|
|-
|}
|}


==== SB Isolation DMA Buffer Header ====


==== SB Isolation DMA Buffer Header  ====
<pre>struct sb_iso_header
<pre>struct sb_iso_header
{
{
Line 112: Line 112:
*seqno has values 0x03 to 0x08. It is incremented when sending and receiving data from the spu.
*seqno has values 0x03 to 0x08. It is incremented when sending and receiving data from the spu.


=== 0x5001 - Set Encdec Key ===
=== 0x5001 - Set Encdec Key ===


* This service allows you to set ENCDEC keys with index '''0xC - 0xF'''
* This service allows you to set ENCDEC keys with index '''0xC - 0xF'''
Line 123: Line 123:
Per default, keys with index 0x0 - 0xB are not free. But we could patch it also.
Per default, keys with index 0x0 - 0xB are not free. But we could patch it also.


=== 0x5002 - Set/Delete ATA (Encdec) Key ===
=== 0x5002 - Set/Delete ATA (Encdec) Key ===


*Sets/Deletes ATA (Encdec) Key  
*Sets/Deletes ATA (Encdec) Key  
Line 157: Line 157:
|}
|}


=== 0x5003 - Get Random Number ===
=== 0x5003 - Get Random Number ===


*I have got access to Get Random Number service through DM and tested it with PSGroove  
*I have got access to Get Random Number service through DM and tested it with PSGroove  
Line 165: Line 165:
*This service is used e.g. by USB Dongle Authenticator to generate the body of a challenge or by GameOS to generate hardware random numbers.
*This service is used e.g. by USB Dongle Authenticator to generate the body of a challenge or by GameOS to generate hardware random numbers.


=== 0x5004 - Authenticate BD Drive ===
=== 0x5004 - Authenticate BD Drive ===


*Used by LPAR Manager in HV Process 9 during LPAR 2 loading and unloading.
*Used by LPAR Manager in HV Process 9 during LPAR 2 loading and unloading.
Line 189: Line 189:
| 0x04
| 0x04
| cleans key
| cleans key
|-
| 0x0D
| Used by cellSsGamediscSetup
|-
|-
| 0x1E
| 0x1E
Line 197: Line 194:
|-
|-
| 0x29
| 0x29
| Reset BD Drive + cleans key (aka cellSsGamediscSetupClear)
| Reset BD Drive + cleans key
|-
|-
| 0x2B
| 0x2B
Line 209: Line 206:
|-
|-
| 0x5A
| 0x5A
| (only gets [[AIM_Manager#0x19004_-_Get_PS_Code|PSCode]])
| (only gets [[AIM_Manager#0x19004_-_Get_PS_Code|PSCode]] )
|-
|-
| 0x8D
| 0x8D
Line 215: Line 212:
|}
|}


=== 0x5005 - PS2 Disc Authenticate ===
=== 0x5005 - PS2 Disc Authenticate ===


=== 0x5006 - Get Version ===
=== 0x5006 - Get Version ===


* By default not accessible from GameOS but can be enabled by patching Dispatcher Manager.
* By default not accessible from GameOS. But it can be enabled by patching Dispatcher Manager.


=== 0x5007 - Control BD Drive ===
=== 0x5007 - Control BD Drive ===


*Used by GameOS to authenticate discs and for BD emulation.
*Used by GameOS to authenticate discs and for BD emulation.
Line 233: Line 230:
|-
|-
| 0x0D
| 0x0D
| HW_ps3_disc_auth (cellSsDrvAuthDiscPs3)
| HW_ps3_disc_auth
|-
|-
| 0x3F
| 0x3F
| HW_ps3_disc_auth (disc id), do auth, get profile etc.
| HW_ps3_disc_auth (disc id?)
|-
|-
| 0x41
| 0x41
Line 242: Line 239:
|-
|-
| 0x43
| 0x43
| HW_ps3_disc_change (cellSsDrvAuthDiscChange)
| HW_ps3_disc_change
|-
|-
| 0x46
| 0x46
| HW_ps3_disc_auth, get disc hash key (cellSsDrvGetDiscId)
| HW_ps3_disc_auth
|-
|-
| 0x4B
| 0x4B
Line 263: Line 260:
|-
|-
| 0xA5
| 0xA5
| HW_disc_auth_emu, set disc mode 2
| HW_disc_auth_emu
|-
|-
| 0xA7
| 0xA7
Line 269: Line 266:
|-
|-
| 0xAA
| 0xAA
| HW_disc_auth_emu, memset given buffer
| HW_disc_auth_emu
|}
|}


=== 0x5008 - HW mc ===
=== 0x5008 - HW mc ===


==== Service Parameter Table ====
==== Service Parameter Table ====
Line 288: Line 285:
|-
|-
|}
|}
=== 0x5011 - Retrieve "M1m" ===
https://paste.ubuntu.com/p/7PvZjF6BY4/
=== 0x5012 - Retrieve "X-I-5-Passphrase" ===
https://paste.ubuntu.com/p/bb6gjF9Cxm/




{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
Please note that all contributions to PS3 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS3 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)