Trophy00.trp: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 16: Line 16:
  u32 magic; //Ü¢M.
  u32 magic; //Ü¢M.
  u32 version; //#3 on ps4
  u32 version; //#3 on ps4
  u64 filesize; //size of full trp file
  u64 fileSize; //size of full trp file
  u32 entryCount; //num entries
  u32 entryCount; //num entries
  u32 unk3; //this could either be max entries or sizeof() entry...
  u32 entrySize;
  u32 unk4; //padding probably
  u32 unk1; //padding probably
  u8 hash[20]; //sha1 hash
  u8 hash[20]; //sha1 hash
  u32 unk5; // 0x30313000 ??
  u32 unk5; // 0x30313000 ??
  u8 unk6[0x2C];
  u8 unk6[0x2C];
  } trp_h
  } header_t


  typedef struct{
  typedef struct{
Line 63: Line 63:
That's all so far
That's all so far
~Jakes625
~Jakes625
Edited By: Red-EyeX32

Revision as of 00:41, 15 March 2014

Background

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

PS3 side references

Structure

Note: This isn't complete.

typedef unsigned long int u32;
typedef unsigned long long int u64;
typedef struct{
	u32 magic; //Ü¢M.
	u32 version; //#3 on ps4
	u64 fileSize; //size of full trp file
	u32 entryCount; //num entries
	u32 entrySize;
	u32 unk1; //padding probably
	u8 hash[20]; //sha1 hash
	u32 unk5; // 0x30313000 ??
	u8 unk6[0x2C];
} header_t
typedef struct{
	signed char name[0x20];
	u64 entryStart; //relative to &buffer
	u64 entryLen;
	u32 unk1; //3 on some, 0 on others, could be flags or an enum to determine if encrypted or not?
	u8 unk2[0xC];
} entry_t;

Image of Header + Entries: http://puu.sh/7uOAN/1c17920d61.png

Image of Encrypted Entry Data: http://puu.sh/7uOEl/6eb00e8a19.png

Entries

So far (from what I've seen) there are only 2 types of entries.

ESFM which are encrypted, and PNG which are not encrypted.

PNG is plain image data

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

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

A digest? A Table? Encryption??

What do you think?


That's all so far ~Jakes625

Edited By: Red-EyeX32