From PS4 Developer wiki
Jump to navigation Jump to search

Background[edit | edit source]

This is used for storage of trophy packs, simular to PS3

PS3 side references[edit | edit source]

Structure[edit | edit source]

 typedef struct {
 	unsigned int magic; // "Ü¢M " (0xDCA24D00)
 	unsigned int version;
 	unsigned long file_size; // size of full trp file
 	unsigned int entry_num; // num entries
 	unsigned int entry_size; // size of entry
 	unsigned int dev_flag; // 1: dev
 	unsigned char digest[20]; //sha1 hash
 	unsigned int key_index;
 	unsigned char padding[44];
 } trp_header;

 typedef struct {
 	signed char entry_name[32];
 	unsigned long entry_pos;
 	unsigned long entry_len;
 	unsigned int flag; //3 on some, 0 on others, could be flags or an enum to determine if encrypted or not?
 	unsigned char padding[12];
 } trp_entry;

Entries[edit | edit source]

Seems to be 2 types of entries. Encrypted and Non - Encrypted.

Non-Encrypted files seem to be just png image files. Encrypted files seem to be just ESFM files, (encrypted container for trophy.sfm files)

Each ESFM file in the .trp file contain the same first 512 bits.

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  0B 29 DE DE CB D5 62 61 C6 5C 75 24 9B 0C A4 08  .)ÞÞËÕbaÆ\u$›.¤.
00000010  0E 40 AE C1 7C 92 1F 1E 6D D7 B6 CC 59 2D DB B8  .@®Á|’..m׶ÌY-Û¸
00000020  5C 26 E7 9E 3F F6 54 9E A2 E4 94 2F 58 7F D6 9D  \&çž?öTž¢ä”/X.Ö.
00000030  CD 96 49 16 B7 9D 1C F4 DE D9 A7 DD FB A0 1A 68  Í–I.·..ôÞÙ§Ýû .h

ESFM is just an encrypted XML format. It consists of IV of 0x10 bytes and the data itself. A key is generated by encrypting NP communication ID (padded with zeroes) with keygen ERK/keygen IV (stored inside system library) using AES-CBC-128. Then you can decrypt data using this key and IV from the header.

The keygen erk/keygen iv keys are the trophy key on the dev wiki

public static byte[] Trophy_Key = new byte[16]
  0x21 , 0xF4 , 0x1A , 0x6B , 0xAD , 0x8A , 0x1D , 0x3E , 0xCA , 0x7A , 0xD5 , 0x86 , 0xC1 , 0x01 , 0xB7 , 0xA9 ,

NP Com ID for above Buffer: NPWR05506_00
ESFM IV: 0x0 - 0x10

Killzone Shadow Fall (NPWR05506_00) TROP.ESFM[edit | edit source]

<!--Sce-Np-Trophy-Signature: 4c39b98c01000000000000008f5af5d6dbb6b31920c95b6df6592d9aa59de49893cf9bc69c060e21a1e599933eba7b3343ef26703dc553245022e4bb3ab67e27f5f6ac52c07480e8fe424854b226009ec06defb00d72dcdf4be793421ac2cc4d246439fcc1644e317465bcc1c7311afffa8094ba53adad0e4717a56954c7d34ffd6771b06883535389d484391fe67ac5123b1e557b4d22eec6b7c3201c916bad-->
<trophyconf version="1.1" platform="ps4" policy="large">
 <parental-level license-area="default">0</parental-level>
 <title-name>Red Dead Redemption 2</title-name>
 <title-detail>Red Dead Redemption 2 trophy set</title-detail>
 <group id="001">
  <name>Insurgent Expansion trophies</name>
  <detail>Insurgent Expansion</detail>
 <group id="002">
  <name>Intercept Expansion trophies</name>
  <detail>Intercept Expansion</detail>
 <trophy id="000" hidden="no" ttype="P" pid="-1">
  <detail>Obtain all Killzone Shadow Fall trophies</detail>
 <trophy id="001" hidden="no" ttype="B" pid="000">
  <name>The Father</name>
  <detail>Complete level 'The Father'</detail>
 <trophy id="002" hidden="no" ttype="B" pid="000">
  <name>The Shadow</name>
  <detail>Complete level 'The Shadow'</detail>
 <trophy id="003" hidden="no" ttype="B" pid="000">
  <detail>In 'The Shadow', operate without raising an alarm or disabling the security mainframe</detail>
 <trophy id="004" hidden="no" ttype="B" pid="000">
  <name>The Doctor</name>
  <detail>Complete level 'The Doctor'</detail>
 <trophy id="005" hidden="no" ttype="B" pid="000">
  <name>The Patriot</name>
  <detail>Complete level 'The Patriot'</detail>
 <trophy id="006" hidden="no" ttype="B" pid="000">
  <name>The Helghast</name>
  <detail>Complete level 'The Helghast'</detail>
 <trophy id="007" hidden="no" ttype="B" pid="000">
  <name>The Agent</name>
  <detail>Complete level 'The Agent'</detail>
 <trophy id="008" hidden="no" ttype="B" pid="000">
  <name>The Handler</name>
  <detail>Complete level 'The Handler'</detail>
 <trophy id="009" hidden="no" ttype="S" pid="000">
  <name>The Dead</name>
  <detail>Complete level 'The Dead'</detail>
 <trophy id="010" hidden="no" ttype="S" pid="000">
  <name>The Destroyer</name>
  <detail>Complete level 'The Destroyer'</detail>
 <trophy id="011" hidden="yes" ttype="B" pid="000">
  <name>New Shadow</name>
  <detail>In 'The Savior', complete the mission without being spotted</detail>
 <trophy id="012" hidden="yes" ttype="B" pid="000">
  <name>Violence is the answer?</name>
  <detail>In 'The Savior', kill 20 soldiers and still complete the mission</detail>
 <trophy id="013" hidden="yes" ttype="G" pid="000">
  <name>The Savior</name>
  <detail>Complete level 'The Savior' and prevent the escalation of a new war</detail>
 <trophy id="014" hidden="no" ttype="B" pid="000">
  <detail>In singleplayer, get a quadruple kill with a single Frag Grenade</detail>
 <trophy id="015" hidden="no" ttype="S" pid="000">
  <detail>In singleplayer, kill 6 Helghast with headshots within a single adrenaline rush</detail>
 <trophy id="016" hidden="no" ttype="B" pid="000">
  <detail>In singleplayer, kill 5 Helghast with gunfire while ziplining</detail>
 <trophy id="017" hidden="no" ttype="G" pid="000">
  <name>Elite Shadow Marshal</name>
  <detail>Complete all missions on Hard difficulty</detail>
 <trophy id="018" hidden="no" ttype="B" pid="000">
  <name>Conscientious Killer</name>
  <detail>Complete the campaign on any difficulty without shooting any civilians</detail>
 <trophy id="019" hidden="no" ttype="S" pid="000">
  <name>Shadows Cannot Be Killed</name>
  <detail>Complete the campaign on any difficulty without dying</detail>
 <trophy id="020" hidden="no" ttype="B" pid="000">
  <detail>Find 50% of the collectibles in the campaign</detail>
 <trophy id="021" hidden="no" ttype="S" pid="000">
  <name>The Knowledge</name>
  <detail>Find all collectibles in the campaign</detail>
 <trophy id="022" hidden="no" ttype="B" pid="000">
  <detail>Complete a match on every multiplayer map</detail>
 <trophy id="023" hidden="no" ttype="S" pid="000">
  <detail>Win a match on every multiplayer map</detail>
 <trophy id="024" hidden="no" ttype="S" pid="000">
  <name>On Your Way</name>
  <detail>Complete 200 challenges</detail>
 <trophy id="025" hidden="no" ttype="G" pid="000">
  <name>Multiplayer Elite</name>
  <detail>Complete 400 challenges</detail>
 <trophy id="026" hidden="no" ttype="G" pid="000">
  <name>Million Points</name>
  <detail>Get a total of 1,000,000 points in multiplayer</detail>
 <trophy id="027" hidden="no" ttype="B" pid="000">
  <detail>Max out any upgradable Scout ability</detail>
 <trophy id="028" hidden="no" ttype="B" pid="000">
  <detail>Max out any upgradable Support ability</detail>
 <trophy id="029" hidden="no" ttype="B" pid="000">
  <detail>Max out any upgradable Assault ability</detail>
 <trophy id="030" hidden="no" ttype="G" pid="000">
  <name>Jack Of All Trades</name>
  <detail>Max out all upgradable abilities</detail>
 <trophy id="031" hidden="no" ttype="G" pid="000">
  <name>Weapons Specialist</name>
  <detail>Unlock all attachments for all weapons</detail>
 <trophy id="032" hidden="no" ttype="S" pid="000">
  <detail>Earn a total of 500 accolades</detail>
 <trophy id="033" hidden="no" ttype="B" pid="-1" gid="001">
  <detail>Reach the maximum level for the Hacking Ability</detail>
 <trophy id="034" hidden="no" ttype="B" pid="-1" gid="001">
  <detail>Reach the maximum level for the Stealing Ability</detail>
 <trophy id="035" hidden="no" ttype="B" pid="-1" gid="001">
  <name>All Flavors</name>
  <detail>Make a kill with all primary weapons as an Insurgent</detail>
 <trophy id="036" hidden="no" ttype="B" pid="-1" gid="001">
  <name>Finders Keepers</name>
  <detail>Collect 25 Online Collectibles</detail>
 <trophy id="037" hidden="no" ttype="B" pid="-1" gid="001">
  <name>Remember me?</name>
  <detail>Make 25 kills with each one of the Retro weapons</detail>
 <trophy id="038" hidden="no" ttype="S" pid="-1" gid="001">
  <name>New Toys!</name>
  <detail>Reach the maximum level for the E-Pulse Emitter, Tactical Echo Emitter, and Guard Drone</detail>
 <trophy id="039" hidden="no" ttype="G" pid="-1" gid="001">
  <name>Like a Boss</name>
  <detail>Finish the campaign in Elite mode</detail>
 <trophy id="040" hidden="no" ttype="B" pid="-1" gid="002">
  <detail>Get 250 kills with the Assault's Breacher automatic shotgun in co-op</detail>
 <trophy id="041" hidden="no" ttype="B" pid="-1" gid="002">
  <name>High And Dry</name>
  <detail>Get 250 kills with the Marksman's LS70 sniper rifle in co-op</detail>
 <trophy id="042" hidden="no" ttype="B" pid="-1" gid="002">
  <detail>Revive 50 Team mates in co-op</detail>
 <trophy id="043" hidden="no" ttype="B" pid="-1" gid="002">
  <name>Tactical Triplets</name>
  <detail>Get 250 kills with the Tactician Turrets in co-op</detail>
 <trophy id="044" hidden="no" ttype="B" pid="-1" gid="002">
  <name>Bare Hands</name>
  <detail>Get 5 brutal melee kills as each of the four Combat Roles in co-op</detail>
 <trophy id="045" hidden="no" ttype="S" pid="-1" gid="002">
  <name>Wallstreet Banker</name>
  <detail>Bank 2500 points as each of the four Combat Roles in co-op</detail>
 <trophy id="046" hidden="no" ttype="G" pid="-1" gid="002">
  <name>Co-op Captain</name>
  <detail>Win 50 co-op games</detail>