Editing Trophy files
Jump to navigation
Jump to search
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: | ||
Trophies was introduced in 2.40 firmware | [[Category:Software]] | ||
Trophies was introduced in 2.40 firmware, games compiled with an SDK smaller than 2.40 doesnt have trophies | |||
=== Firmware related files === | === Firmware related files === | ||
Line 11: | Line 13: | ||
np_trophy_plugin.sprx (/dev_flash/vsh/module) | np_trophy_plugin.sprx (/dev_flash/vsh/module) | ||
np_trophy_util.sprx (/dev_flash/vsh/module) | np_trophy_util.sprx (/dev_flash/vsh/module) | ||
=== Harddrive related files === | === Harddrive related files === | ||
Line 25: | Line 24: | ||
**PARAM.PFD | **PARAM.PFD | ||
**PARAM.SFO | **PARAM.SFO | ||
** | **TROPxxx.PNG (e.g. TROP000.PNG ... TROP999.PNG for each individual trophy) | ||
**TROPCONF.SFM | **TROPCONF.SFM | ||
**TROPTRNS.DAT | **TROPTRNS.DAT | ||
Line 51: | Line 50: | ||
===== PARAM.SFO ===== | ===== PARAM.SFO ===== | ||
===== TROPCONF.SFM ===== | ===== TROPCONF.SFM ===== | ||
Line 60: | Line 57: | ||
The only way to update this file is by installing a new "trophy installer" (TROPHY.TRP) using the same ID's, but with a higher version (this happens with some "game expansions" that updates the trophy installation with new trophies related with the new content) | The only way to update this file is by installing a new "trophy installer" (TROPHY.TRP) using the same ID's, but with a higher version (this happens with some "game expansions" that updates the trophy installation with new trophies related with the new content) | ||
* Is language specific (texts are not common for all the languages) | * Is language specific (texts are not common for all the languages) | ||
Its the trophy installer (TROPHY.TRP) who decides wich '''TROPCONF.SFM''' will be installed depending of the language settings in the XMB | Its the trophy installer (TROPHY.TRP) who decides wich '''TROPCONF.SFM''' will be installed depending of the language settings in the XMB | ||
Line 149: | Line 146: | ||
* Specullation | * Specullation | ||
Based in the name (trophy transmission or transfer) its a file derivated of TROPUSR.DAT, with an added layer of encryption, ready to be sended to PSN to synchronize the data related with this game with your | Based in the name (trophy transmission or transfer) its a file derivated of TROPUSR.DAT, with an added layer of encryption, ready to be sended to PSN to synchronize the data related with this game with your trohpies in your online account | ||
It contains info related with user, either because its present in the source file (TROPUSR.DAT) or because it contains the file PARAM.SFO "incrusted" in the format | It contains info related with user, either because its present in the source file (TROPUSR.DAT) or because it contains the file PARAM.SFO "incrusted" in the format | ||
== How signatures from XML and TROPTRNS.DAT are signed? == | == How signatures from XML and TROPTRNS.DAT are signed? == | ||
The signature itself have a size of 160 bytes. It contains a header of 12 bytes (the signature header) which contains 4 bytes of a magic (0x4C39B98C for XML, 0xB9DDE13B for DAT), a version ( | The signature itself have a size of 160 bytes. It contains a header of 12 bytes (the signature header) which contains 4 bytes of a magic (0x4C39B98C for XML, 0xB9DDE13B for DAT), a version (0x01000000) and a padding of 4 zero bytes. There are SHA1-HMAC hash after the header and RSA signature of 128 bytes. A RSA signature uses the SHA1 hash as a message. A trophy utility uses PKCS#1 as a padding scheme, the public exponent of 65537 and the modulus which is placed in a transformed way inside a module. A RSA modulus consists of 128 bytes followed by 8 bytes of a public exponent, they are 16 groups of 8 bytes each written in a reversed order. So the last group of 8 bytes will be the first group of 8 bytes, the penultimate group of 8 bytes will be the second group, etc. A SHA1-HMAC after the signature header and SHA1 hash from the decrypted signature should be equal to the corresponding computed hashes. | ||
===== Keys ===== | ===== Keys ===== | ||
Line 181: | Line 173: | ||
F5 8B 9B A8 34 B3 58 8C 92 C8 41 1C 54 8B FC 49</pre> | F5 8B 9B A8 34 B3 58 8C 92 C8 41 1C 54 8B FC 49</pre> | ||
SHA1-HMAC key: | |||
<pre>6A C0 B3 FB 1E BB 4F B7 BC C2 A0 0D A3 A2 A4 BD | |||
BC B7 88 EC 45 67 48 CC 86 CD 9D 09 EF 37 93 7F | |||
6E E3 11 67 77 8E 41 4E 9B 71 1B E9 D8 CB B5 F8 | |||
95 6E 45 4E E9 4A 46 C3 9D C4 FF 0D 09 0B 92 B7</pre> | |||
== Signature for TROPTRNS.DAT == | == Signature for TROPTRNS.DAT == | ||
Decrypt TROPTRNS.DAT and take 160 bytes starting from offset 0x170. This is your TROPTRNS.DAT signature and it uses the format mentioned above. A RSA modulus started with 3C 1C... inside np_trophy_util.prx. | Decrypt TROPTRNS.DAT and take 160 bytes starting from offset 0x170. This is your TROPTRNS.DAT signature and it uses the format mentioned above. A RSA modulus started with 3C 1C... inside np_trophy_util.prx. | ||
===== TROPUSR.DAT ===== | ===== TROPUSR.DAT ===== | ||
Stores data related with the unlocked trophies for this specific game, included timestamps when the trophy was unlocked, etc... | Stores data related with the unlocked trophies for this specific game, included timestamps when the trophy was unlocked, etc... | ||
The file is updated | The file is updated everytime a trophy is unlocked, and at the same time his [[PARAM.PFD]] is updated to store the new signature | ||
The file is encrypted, some tricks can be done to tamper with this files to unlock trophies, but consider the methods not perfect (they generates semi-corrupted files that can be considered valid under some circunstancies, but are corrupted in the end) | The file is encrypted, some tricks can be done to tamper with this files to unlock trophies, but consider the methods not perfect (they generates semi-corrupted files that can be considered valid under some circunstancies, but are corrupted in the end) | ||
===== Content information files ===== | ===== Content information files ===== | ||
These are "multimedia" files, not | These are "multimedia" files, not cryticall and not protected in any way, for more information see: [[Content_Information_Files|Content Information Files]] | ||
=== | === Trophy Installer === | ||
In blu-ray discs in path: bdvb/PS3_GAME/TROPDIR/[[PARAM.SFO#NPCOMMID|NPCOMMID]]/''' | In blu-ray discs in path: bdvb/PS3_GAME/TROPDIR/[[PARAM.SFO#NPCOMMID|NPCOMMID]]/'''TROPHY.TRP'''. e.g: bdvb/PS3_GAME/TROPDIR/NPWR00001/TROPHY.TRP | ||
In HDD games in path: ??? | In HDD games in path: ??? | ||
Line 276: | Line 235: | ||
*TROP_'''xx'''.SFM (optionall) | *TROP_'''xx'''.SFM (optionall) | ||
Same than TROP.SFM but containing texts for other [[Languages]] | Same than TROP.SFM but containing texts for other languages. For a list of all languages see: [[Content_Information_Files#Regional_codes_in_file_names_.28languages.29|Content Information Files - Languages]] | ||
*ICON0.PNG, TROP'''xxx'''.PNG, and GR00'''x'''.PNG | *ICON0.PNG, TROP'''xxx'''.PNG, and GR00'''x'''.PNG | ||
ICON0.PNG is the main icon always visible in XMB | ICON0.PNG is the main icon always visible in XMB | ||
GR00'''x'''.PNG (optionall) is a subicon when trophies are grouped | GR00'''x'''.PNG (optionall) is a subicon when trophies are grouped | ||
TROP'''xxx'''.PNG is the icon for every trophy | TROP'''xxx'''.PNG is the icon for every trophy | ||
[[Content_Information_Files#Trophies|Content Information Files - Trophies]] | |||
==PSL1GHT and trophy's== | ==PSL1GHT and trophy's== | ||
Line 289: | Line 250: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Game type | ! Game type !! Platinum (180 points) !! Gold (90 points) !! Silver (30 points) !! Bronze (15 points) !! Points Max | ||
! | |||
! | |||
! | |||
! | |||
! Points Max | |||
|- | |- | ||
| Disc Game || {{yes}} || {{yes}} || {{yes}} || {{yes}} || 1230 | | Disc Game || {{yes}} || {{yes}} || {{yes}} || {{yes}} || 1230 | ||
Line 325: | Line 281: | ||
**Level 19 = 70,000 | **Level 19 = 70,000 | ||
**Level 20 and up = previous level plus 8,000 | **Level 20 and up = previous level plus 8,000 | ||