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 .
[[Category:Software]]
 
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 10:
  *'''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 16: Line 16:
! Packet ID  
! Packet ID  
! Description
! Description
! Lv1 Parameter Usage
! Lv2Syscall Parameter
! notes
|-
|-
| 0x5001  
| 0x5001  
| Set Encdec Key
| Set Encdec Key
|
|
|
|-
|-
| 0x5002  
| 0x5002  
| Set/Delete ATA (Encdec) Key
| Set/Delete ATA (Encdec) Key
|
|
|
|-
|-
| 0x5003  
| 0x5003  
| Get Random Number
| Get Random Number
|
|
|
|-
|-
| 0x5004  
| 0x5004  
| Authenticate BD Drive (cellSsDrvAuthDrive)
| Authenticate BD Drive
|
|
| Usermode access
|-
|-
| 0x5005  
| 0x5005  
| Authenticate PS2 Disc
| Authenticate PS2 Disc
|
|
|
|-
|-
| 0x5006  
| 0x5006  
| Get Secure Firmware Version
| Get Secure Firmware Version
|
|
|
|-
|-
| 0x5007  
| 0x5007  
| Authenticate PS3 Game (cellSsDrvAuthDiscPs3)
| HW disc auth emu
|
|
| Usermode access
|-
|-
| 0x5008  
| 0x5008  
| HW mc
| HW mc
|
|
| Usermode access
|-
|-
| 0x5009  
| 0x5009  
| HW me auth header
| HW me auth header
|
|
|
|-
|-
| 0x500A  
| 0x500A  
| HW me dec block
| HW me dec block
|
|
|
|-
|-
| 0x5010
| 0x5010
| Set Encdec Key for PS2
| Set Encdec Key for PS2
|
|
|
|-
| 0x5011
| Retrieve M1m for bdv (Bluray Disc Voucher)
|
|
| Usermode access
|-
|-
| 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 65:
*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 76:
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 110:
|}
|}


=== 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 118:
*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 181: Line 134:
! Description
! Description
|-
|-
| 0x00 0x01
| 0x01
| (unknown, ignore/skip)
| (unknown)
|-
|-
| 0x02
| 0x02
| Used by SLL service 0x14004 during PS2EMU loading
| Used by SLL service 0x14004 during PS2EMU loading
|-
| 0x04
| cleans key
|-
| 0x0D
| Used by cellSsGamediscSetup
|-
|-
| 0x1E
| 0x1E
Line 197: Line 144:
|-
|-
| 0x29
| 0x29
| Reset BD Drive + cleans key (aka cellSsGamediscSetupClear)
| Reset BD Drive
|-
| 0x2B
| Stop BD Drive
|-
|-
| 0x46
| 0x46
Line 206: Line 150:
|-
|-
| 0x52
| 0x52
| Authenticate PS2 Disc Insert (policy check) (cellSsDrvPs2DiscInsert)
| Authenticate PS2 Disc Insert
|-
| 0x5A
| (only gets [[AIM_Manager#0x19004_-_Get_PS_Code|PSCode]])
|-
| 0x8D
| Check Device File
|}
|}


=== 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 171:
|-
|-
| 0x0D
| 0x0D
| HW_ps3_disc_auth (cellSsDrvAuthDiscPs3)
| -
|-
|-
| 0x3F
| 0x3F
| HW_ps3_disc_auth (disc id), do auth, get profile etc.
| -
|-
|-
| 0x41
| 0x41
| HW_ps3_hdd_game_auth
| -
|-
|-
| 0x43
| 0x43
| HW_ps3_disc_change (cellSsDrvAuthDiscChange)
| -
|-
|-
| 0x46
| 0x46
| HW_ps3_disc_auth, get disc hash key (cellSsDrvGetDiscId)
| -
|-
|-
| 0x4B
| 0x4B
| HW_ps3_disc_auth (media id?)
| media id?
|-
|-
| 0x51
| 0x51
| HW_ps3_disc_auth
| -
|-
|-
| 0x52
| 0x52
| HW_ps3_disc_auth
| -
|-
|-
| 0x53
| 0x53
| HW_ps3_disc_change (cellSsDrvPs3DiscInsert)
| PS3 Disc Insert
|-
|-
| 0xA3
| 0xA3
| HW_disc_auth_emu
| BD emu
|-
|-
| 0xA5
| 0xA5
| HW_disc_auth_emu, set disc mode 2
| BD emu
|-
|-
| 0xA7
| 0xA7
| HW_disc_auth_emu
| BD emu
|-
|-
| 0xAA
| 0xAA
| HW_disc_auth_emu, memset given buffer
| BD emu
|}
|}


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


==== Service Parameter Table ====
==== Service Parameter Table ====
Line 282: Line 220:
|-
|-
| 0x01
| 0x01
| mc_auth_1 (get?)
|  
|-
|-
| 0x02
| 0x02
| mc_auth_2 (clean?)
|  
|-
|-
|}
|}
=== 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>
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)