Virtual TRM Manager: Difference between revisions
Jump to navigation
Jump to search
(4 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 | note: inside ss_server1.fself | ||
Line 15: | Line 16: | ||
| | | | ||
| 0,0,0,0 | | 0,0,0,0 | ||
| | | (can be used for RSOD fix) | ||
|- | |- | ||
| 0x2002 | | 0x2002 | ||
Line 27: | Line 28: | ||
| | | | ||
| data[0x40],0,0,0 | | data[0x40],0,0,0 | ||
| | | ( nth = 0 ) | ||
|- | |- | ||
| 0x2004 | | 0x2004 | ||
| Store | | Store | ||
| | | | ||
| data[ | | data[0x40],int nth,0,0 | ||
| | | | ||
|- | |- | ||
Line 38: | Line 39: | ||
| Retrieve | | Retrieve | ||
| | | | ||
| data[ | | data[0x40],int nth,0,0 | ||
| | | | ||
|- | |- | ||
Line 44: | Line 45: | ||
| Free | | Free | ||
| | | | ||
| ,0,0,0 | | int nth,0,0,0 | ||
| | | | ||
|- | |- | ||
Line 116: | Line 117: | ||
| Backup Flash | | Backup Flash | ||
| | | | ||
| pos,size (<=0x8000),buffer[size],uint64_t* | | pos,size (<=0x8000),buffer[size],uint64_t* nread | ||
| Requires Product Mode EEPROM-Flag set | | Requires Product Mode EEPROM-Flag set | ||
|- | |- | ||
Line 122: | Line 123: | ||
| Restore Flash | | Restore Flash | ||
| | | | ||
| pos,size (<=0x8000),buffer[size],uint64_t* | | pos,size (<=0x8000),buffer[size],uint64_t* nread | ||
| Requires Product Mode EEPROM-Flag set | | Requires Product Mode EEPROM-Flag set | ||
|- | |- | ||
Line 154: | 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