Editing Trophy00.trp

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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:
== Background ==
== Background ==
This is used for storage of trophy packs, simular to PS3
It is currently unknown what these are used for. Presumably something for storing information about trophy images/files


=== PS3 side references ===
== Structure ==
* http://www.psdevwiki.com/ps3/Trophy
Note: This isn't complete.
* http://www.psdevwiki.com/ps3/TROPHY.TRP
typedef struct{
* http://www.psdevwiki.com/ps3/Trophy_files
u32 unk1; //perhaps magic?
* http://www.psdevwiki.com/ps3/Trophy_livelist
u32 unk2; //looks like version or something (3)
u64 filesize; //size of full trp file
u32 entryCount; //num entries
u32 unk3; //this could either be max entries or sizeof() entry...
u32 unk4; //padding probably
u8 hash[20]; //md5? sha1?  Could also be an IV for a form of encryption
u32 unk5; // 0x30313000 ??
u8 unk6[0x2C];
} trp_h


== Structure ==
  typedef struct{
<source lang="c">
  signed char name[0x20];
  typedef struct {
  u64 entryStart; //relative to &buffer
  unsigned int magic; // "Ü¢M " (0xDCA24D00)
  u64 entryLen;
unsigned int version;
  u32 unk1; //3 on some, 0 on others, could be flags or an enum to determine if encrypted or not?
unsigned long file_size; // size of full trp file
  u8 unk2[0xC];
unsigned int entry_num; // num entries
  } entry_t;
  unsigned int entry_size; // size of entry
 
  unsigned int dev_flag; // 1: dev
Image of Header + Entries:
  unsigned char digest[20]; //sha1 hash
http://puu.sh/7uOAN/1c17920d61.png
  unsigned int key_index;
unsigned char padding[44];
  } trp_header;


typedef struct {
Image of Encrypted Entry Data:
signed char entry_name[32];
http://puu.sh/7uOEl/6eb00e8a19.png
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;
</source>


=== Entries ===
=== Entries ===
Seems to be 2 types of entries. Encrypted and Non - Encrypted.
So far (from what I've seen) there are only 2 types of entries.
 
ESFM which are encrypted, and PNG which are not encrypted.


Non-Encrypted files seem to be just png image files.
PNG is plain image data
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.
ESFM is encrypted but seems to contain the same bytes at the top.


  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
  Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
Line 46: Line 46:
  00000030  CD 96 49 16 B7 9D 1C F4 DE D9 A7 DD FB A0 1A 68  Í–I.·..ôÞÙ§Ýû .h
  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.
A digest? A Table? Encryption??
 
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 ,
};


What do you think?


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


==== Killzone Shadow Fall (NPWR05506_00) TROP.ESFM ====
<source lang="xml">
<!--Sce-Np-Trophy-Signature: 4c39b98c01000000000000008f5af5d6dbb6b31920c95b6df6592d9aa59de49893cf9bc69c060e21a1e599933eba7b3343ef26703dc553245022e4bb3ab67e27f5f6ac52c07480e8fe424854b226009ec06defb00d72dcdf4be793421ac2cc4d246439fcc1644e317465bcc1c7311afffa8094ba53adad0e4717a56954c7d34ffd6771b06883535389d484391fe67ac5123b1e557b4d22eec6b7c3201c916bad-->
<trophyconf version="1.1" platform="ps4" policy="large">
<npcommid>NPWR05506_00</npcommid>
<trophyset-version>01.07</trophyset-version>
<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>
<group id="002">
  <name>Intercept Expansion trophies</name>
  <detail>Intercept Expansion</detail>
</group>
<trophy id="000" hidden="no" ttype="P" pid="-1">
  <name>Hero</name>
  <detail>Obtain all Killzone Shadow Fall trophies</detail>
</trophy>
<trophy id="001" hidden="no" ttype="B" pid="000">
  <name>The Father</name>
  <detail>Complete level 'The Father'</detail>
</trophy>
<trophy id="002" hidden="no" ttype="B" pid="000">
  <name>The Shadow</name>
  <detail>Complete level 'The Shadow'</detail>
</trophy>
<trophy id="003" hidden="no" ttype="B" pid="000">
  <name>Deniable</name>
  <detail>In 'The Shadow', operate without raising an alarm or disabling the security mainframe</detail>
</trophy>
<trophy id="004" hidden="no" ttype="B" pid="000">
  <name>The Doctor</name>
  <detail>Complete level 'The Doctor'</detail>
</trophy>
<trophy id="005" hidden="no" ttype="B" pid="000">
  <name>The Patriot</name>
  <detail>Complete level 'The Patriot'</detail>
</trophy>
<trophy id="006" hidden="no" ttype="B" pid="000">
  <name>The Helghast</name>
  <detail>Complete level 'The Helghast'</detail>
</trophy>
<trophy id="007" hidden="no" ttype="B" pid="000">
  <name>The Agent</name>
  <detail>Complete level 'The Agent'</detail>
</trophy>
<trophy id="008" hidden="no" ttype="B" pid="000">
  <name>The Handler</name>
  <detail>Complete level 'The Handler'</detail>
</trophy>
<trophy id="009" hidden="no" ttype="S" pid="000">
  <name>The Dead</name>
  <detail>Complete level 'The Dead'</detail>
</trophy>
<trophy id="010" hidden="no" ttype="S" pid="000">
  <name>The Destroyer</name>
  <detail>Complete level 'The Destroyer'</detail>
</trophy>
<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>
<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>
<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>
<trophy id="014" hidden="no" ttype="B" pid="000">
  <name>Outsmarted</name>
  <detail>In singleplayer, get a quadruple kill with a single Frag Grenade</detail>
</trophy>
<trophy id="015" hidden="no" ttype="S" pid="000">
  <name>Outgunned</name>
  <detail>In singleplayer, kill 6 Helghast with headshots within a single adrenaline rush</detail>
</trophy>
<trophy id="016" hidden="no" ttype="B" pid="000">
  <name>Outmaneuvered</name>
  <detail>In singleplayer, kill 5 Helghast with gunfire while ziplining</detail>
</trophy>
<trophy id="017" hidden="no" ttype="G" pid="000">
  <name>Elite Shadow Marshal</name>
  <detail>Complete all missions on Hard difficulty</detail>
</trophy>
<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>
<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>
<trophy id="020" hidden="no" ttype="B" pid="000">
  <name>Gatherer</name>
  <detail>Find 50% of the collectibles in the campaign</detail>
</trophy>
<trophy id="021" hidden="no" ttype="S" pid="000">
  <name>The Knowledge</name>
  <detail>Find all collectibles in the campaign</detail>
</trophy>
<trophy id="022" hidden="no" ttype="B" pid="000">
  <name>Tourist</name>
  <detail>Complete a match on every multiplayer map</detail>
</trophy>
<trophy id="023" hidden="no" ttype="S" pid="000">
  <name>Dominator</name>
  <detail>Win a match on every multiplayer map</detail>
</trophy>
<trophy id="024" hidden="no" ttype="S" pid="000">
  <name>On Your Way</name>
  <detail>Complete 200 challenges</detail>
</trophy>
<trophy id="025" hidden="no" ttype="G" pid="000">
  <name>Multiplayer Elite</name>
  <detail>Complete 400 challenges</detail>
</trophy>
<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>
<trophy id="027" hidden="no" ttype="B" pid="000">
  <name>Scout</name>
  <detail>Max out any upgradable Scout ability</detail>
</trophy>
<trophy id="028" hidden="no" ttype="B" pid="000">
  <name>Support</name>
  <detail>Max out any upgradable Support ability</detail>
</trophy>
<trophy id="029" hidden="no" ttype="B" pid="000">
  <name>Assault</name>
  <detail>Max out any upgradable Assault ability</detail>
</trophy>
<trophy id="030" hidden="no" ttype="G" pid="000">
  <name>Jack Of All Trades</name>
  <detail>Max out all upgradable abilities</detail>
</trophy>
<trophy id="031" hidden="no" ttype="G" pid="000">
  <name>Weapons Specialist</name>
  <detail>Unlock all attachments for all weapons</detail>
</trophy>
<trophy id="032" hidden="no" ttype="S" pid="000">
  <name>Decorated</name>
  <detail>Earn a total of 500 accolades</detail>
</trophy>
<trophy id="033" hidden="no" ttype="B" pid="-1" gid="001">
  <name>Hacktivist</name>
  <detail>Reach the maximum level for the Hacking Ability</detail>
</trophy>
<trophy id="034" hidden="no" ttype="B" pid="-1" gid="001">
  <name>Kleptomania</name>
  <detail>Reach the maximum level for the Stealing Ability</detail>
</trophy>
<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>
<trophy id="036" hidden="no" ttype="B" pid="-1" gid="001">
  <name>Finders Keepers</name>
  <detail>Collect 25 Online Collectibles</detail>
</trophy>
<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>
<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>
<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>
<trophy id="040" hidden="no" ttype="B" pid="-1" gid="002">
  <name>Pyromaniac</name>
  <detail>Get 250 kills with the Assault's Breacher automatic shotgun in co-op</detail>
</trophy>
<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>
<trophy id="042" hidden="no" ttype="B" pid="-1" gid="002">
  <name>Necromancer</name>
  <detail>Revive 50 Team mates in co-op</detail>
</trophy>
<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>
<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>
<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>
<trophy id="046" hidden="no" ttype="G" pid="-1" gid="002">
  <name>Co-op Captain</name>
  <detail>Win 50 co-op games</detail>
</trophy>
</trophyconf>
</source>


{{File Formats}}
That's all so far
<noinclude>[[Category:Main]]</noinclude>
~Jakes625
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)