Virtual TRM Manager: Difference between revisions
Jump to navigation
Jump to search
(10 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 | ! notes | ||
Line 10: | Line 14: | ||
| 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[ | | | ||
| data[0x40],int nth,0,0 | |||
| | | | ||
|- | |- | ||
| 0x2005 | | 0x2005 | ||
| Retrieve | | Retrieve | ||
| data[ | | | ||
| data[0x40],int nth,0,0 | |||
| | | | ||
|- | |- | ||
| 0x2006 | | 0x2006 | ||
| Free | | Free | ||
| ,0,0,0 | | | ||
| int nth,0,0,0 | |||
| | | | ||
|- | |- | ||
| 0x2007 | | 0x2007 | ||
| not implemented | | not implemented | ||
| | |||
| | | | ||
| | | | ||
Line 45: | Line 56: | ||
| 0x2008 | | 0x2008 | ||
| not implemented | | not implemented | ||
| | |||
| | | | ||
| | | | ||
Line 50: | Line 62: | ||
| 0x2009 | | 0x2009 | ||
| not implemented | | not implemented | ||
| | |||
| | | | ||
| | | | ||
Line 55: | Line 68: | ||
| 0x200A | | 0x200A | ||
| Encrypt | | Encrypt | ||
| | |||
| , , ,0 | | , , ,0 | ||
| | | | ||
Line 60: | Line 74: | ||
| 0x200B | | 0x200B | ||
| Decrypt | | Decrypt | ||
| | |||
| , , ,0 | | , , ,0 | ||
| | | | ||
Line 65: | Line 80: | ||
| 0x200C | | 0x200C | ||
| Encrypt With Portability | | Encrypt With Portability | ||
| | |||
| , , ,0 | | , , ,0 | ||
| | | | ||
Line 70: | Line 86: | ||
| 0x200D | | 0x200D | ||
| Decrypt With Portability | | Decrypt With Portability | ||
| | |||
| , , ,0 | | , , ,0 | ||
| | | | ||
Line 75: | Line 92: | ||
| 0x200E | | 0x200E | ||
| Decrypt Master | | Decrypt Master | ||
| | |||
| key[0x10],data[0x40] ,0,0 | | key[0x10],data[0x40] ,0,0 | ||
| | | | ||
Line 80: | Line 98: | ||
| 0x200F | | 0x200F | ||
| not implemented | | not implemented | ||
| | |||
| 0,0,0,0 | | 0,0,0,0 | ||
| | | | ||
Line 85: | Line 104: | ||
| 0x2010 | | 0x2010 | ||
| not implemented | | not implemented | ||
| | |||
| , , , | | , , , | ||
| | | | ||
Line 90: | Line 110: | ||
| 0x2011 | | 0x2011 | ||
| not implemented | | not implemented | ||
| | |||
| , , , | | , , , | ||
| | | | ||
Line 95: | Line 116: | ||
| 0x2012 | | 0x2012 | ||
| Backup Flash | | Backup Flash | ||
| , , , | | | ||
| pos,size (<=0x8000),buffer[size],uint64_t* nread | |||
| Requires Product Mode EEPROM-Flag set | | 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 | | Requires Product Mode EEPROM-Flag set | ||
|- | |- | ||
| 0x2014 | | 0x2014 | ||
| Backup SRK SRH | | Backup SRK SRH | ||
| ,uint8[0x80] ,0,0 | | | ||
| 0x80,uint8[0x80] ,0,0 | |||
| Requires Product Mode EEPROM-Flag set | | 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 | | 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 | | 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 | | Requires Product Mode EEPROM-Flag set | ||
Line 128: | 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''' | ||
*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 21: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