Virtual TRM Manager: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
== 0x2000 - Virtual TRM Manager  ==
== 0x2000 - Virtual TRM Manager  ==
Virtual TRM Manager service is accessed by GameOS '''syscall 862'''
note: inside ss_server1.fself


{| class="wikitable FCK__ShowTableBorders"
{| class="wikitable FCK__ShowTableBorders"
Line 5: Line 8:
! Packet ID  
! Packet ID  
! Description
! Description
! Lv1 Parameter Usage
! Lv2Syscall Parameter
! Lv2Syscall Parameter
! notes
|-
|-
| 0x2001  
| 0x2001  
| Init
| Init
|
| 0,0,0,0
| 0,0,0,0
| (can be used for RSOD fix)
|-
|-
| 0x2002  
| 0x2002  
| Status
| Status
| , , ,0
|
| int*,int*,int*,0
|
|-
|-
| 0x2003  
| 0x2003  
| Store with TRM Update
| Store with TRM Update
|
| data[0x40],0,0,0
| data[0x40],0,0,0
| ( nth = 0 )
|-
|-
| 0x2004  
| 0x2004  
| Store
| Store
| data[size],size,0,0
|
| data[0x40],int nth,0,0
|
|-
|-
| 0x2005  
| 0x2005  
| Retrieve
| Retrieve
| data[size],size,0,0
|
| data[0x40],int nth,0,0
|
|-
|-
| 0x2006  
| 0x2006  
| Free
| Free
| ,0,0,0
|
| int nth,0,0,0
|
|-
|-
| 0x2007
| 0x2007
| not implemented
| not implemented
|
|
|
|
|-
|-
| 0x2008
| 0x2008
| not implemented
| not implemented
|
|
|
|
|-
|-
| 0x2009
| 0x2009
| not implemented
| not implemented
|
|
|
|
|-
|-
| 0x200A  
| 0x200A  
| Encrypt
| Encrypt
|
| , , ,0
| , , ,0
|
|-
|-
| 0x200B  
| 0x200B  
| Decrypt
| Decrypt
|
| , , ,0
| , , ,0
|
|-
|-
| 0x200C  
| 0x200C  
| Encrypt With Portability
| Encrypt With Portability
|
| , , ,0
| , , ,0
|
|-
|-
| 0x200D  
| 0x200D  
| Decrypt With Portability
| Decrypt With Portability
|
| , , ,0
| , , ,0
|
|-
|-
| 0x200E  
| 0x200E  
| Decrypt Master
| Decrypt Master
|
| key[0x10],data[0x40] ,0,0
| key[0x10],data[0x40] ,0,0
|
|-
|-
| 0x200F
| 0x200F
| not implemented
| not implemented
|
| 0,0,0,0
| 0,0,0,0
|
|-
|-
| 0x2010
| 0x2010
| not implemented
| not implemented
|
| , , ,
| , , ,
|
|-
|-
| 0x2011
| 0x2011
| not implemented
| not implemented
|
| , , ,  
| , , ,  
|
|-
|-
| 0x2012  
| 0x2012  
| Backup Flash
| Backup Flash
| , , ,  
|
| pos,size (<=0x8000),buffer[size],uint64_t* nread
| Requires Product Mode EEPROM-Flag set
|-
|-
| 0x2013  
| 0x2013  
| Restore Flash
| Restore Flash
| , , ,  
|
| pos,size (<=0x8000),buffer[size],uint64_t* nread
| Requires Product Mode EEPROM-Flag set
|-
|-
| 0x2014  
| 0x2014  
| Backup SRK SRH
| Backup SRK SRH
| , ,0,0
|
| 0x80,uint8[0x80] ,0,0
| Requires Product Mode EEPROM-Flag set
|-
|-
| 0x2015  
| 0x2015  
| Restore SRK SRH
| Restore SRK SRH
| , ,0,0
|
| 0x80,uin8[0x80],0,0
| Requires Product Mode EEPROM-Flag set
|-
|-
| 0x2016  
| 0x2016  
| Flash Address Size
| Flash Address Size
| , ,0,0
|
| uint64_t* ,uint64_t* ,0,0
| Requires Product Mode EEPROM-Flag set
|-
|-
| 0x2017  
| 0x2017  
| Force Restart
| Force Restart
|
| 0,0,0,0
| 0,0,0,0
| Requires Product Mode EEPROM-Flag set
|}
|}


Line 104: Line 155:
*This service is e.g. used in Process 6 by '''USB Dongle Authenticator''' to decrypt '''USB Dongle Master Key'''  
*This service is e.g. used in Process 6 by '''USB Dongle Authenticator''' to decrypt '''USB Dongle Master Key'''  
*GameOS uses this service e.g. in syscall '''SYS_SS_AD_SIGN'''  
*GameOS uses this service e.g. in syscall '''SYS_SS_AD_SIGN'''  
*'''syscall 862''' uses Virtual TRM Manager services.
*Also used in '''VSH''' to decrypt '''PSN passphrase'''
*Also used in '''VSH''' to decrypt '''PSN passphrase'''




{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>
{{Reverse engineering}}<noinclude>[[Category:Main]]</noinclude>

Latest revision as of 22:25, 22 July 2014

0x2000 - Virtual TRM Manager[edit | edit source]

Virtual TRM Manager service is accessed by GameOS syscall 862
note: inside ss_server1.fself
Packet ID Description Lv1 Parameter Usage Lv2Syscall Parameter notes
0x2001 Init 0,0,0,0 (can be used for RSOD fix)
0x2002 Status int*,int*,int*,0
0x2003 Store with TRM Update data[0x40],0,0,0 ( nth = 0 )
0x2004 Store data[0x40],int nth,0,0
0x2005 Retrieve data[0x40],int nth,0,0
0x2006 Free int nth,0,0,0
0x2007 not implemented
0x2008 not implemented
0x2009 not implemented
0x200A Encrypt , , ,0
0x200B Decrypt , , ,0
0x200C Encrypt With Portability , , ,0
0x200D Decrypt With Portability , , ,0
0x200E Decrypt Master key[0x10],data[0x40] ,0,0
0x200F not implemented 0,0,0,0
0x2010 not implemented , , ,
0x2011 not implemented , , ,
0x2012 Backup Flash pos,size (<=0x8000),buffer[size],uint64_t* nread Requires Product Mode EEPROM-Flag set
0x2013 Restore Flash pos,size (<=0x8000),buffer[size],uint64_t* nread Requires Product Mode EEPROM-Flag set
0x2014 Backup SRK SRH 0x80,uint8[0x80] ,0,0 Requires Product Mode EEPROM-Flag set
0x2015 Restore SRK SRH 0x80,uin8[0x80],0,0 Requires Product Mode EEPROM-Flag set
0x2016 Flash Address Size uint64_t* ,uint64_t* ,0,0 Requires Product Mode EEPROM-Flag set
0x2017 Force Restart 0,0,0,0 Requires Product Mode EEPROM-Flag set

0x200E - Decrypt Master[edit | edit source]

  • This service is e.g. used in Process 6 by USB Dongle Authenticator to decrypt USB Dongle Master Key
  • GameOS uses this service e.g. in syscall SYS_SS_AD_SIGN
  • Also used in VSH to decrypt PSN passphrase