PEC: Difference between revisions

From Xenon Wiki
Jump to navigation Jump to search
imported>Stoker25
No edit summary
imported>Sh042067
(added signing stuff, and other information)
Line 1: Line 1:
'''PEC''' (Profile Embedded Content) files are used by the Xbox 360 as an additional layer of security on profiles. Certain [[GPD]] files are relocated inside the PEC file.
'''PEC''' (Profile Embedded Content) files are used by the Xbox 360 as an additional layer of security on profiles. Certain [[GPD]] files are relocated inside the PEC file. The PEC file stores information on avatar clothes/items, and is just another STFS package. With this said you must properly rehash and resign the PEC file to avoid the Xbox detecting corruption of the package. Rehashing is the same as all STFS packages (besides the starting block), but resigning is different (view below).


= Header =
= Header =
Line 26: Line 26:
|-
|-
| 0x244
| 0x244
| 0x1
| 0x24
| byte
| [[STFS#Volume_Descriptor|Structure]]
| Volume Descriptor Structure Size (usually 0x24)
| Volume Descriptor
|-
| 0x245
| '''Volume Descriptor Structure Size''' - 1
| [[STFS#Volume_Descriptor|structure]]
| Volume Descriptor (sometimes this can be 1 byte forward, or have the reserved byte from the descriptor missing)
|-
|-
| 0x244 + '''Volume Descriptor Structure Size'''
| 0x268
| 0x4
| 0x4
| signed int
| signed int
| Unknown
| Unknown
|-
|-
| 0x248 + '''Volume Descriptor Structure Size'''
| 0x26C
| 0x8
| 0x8
| bytes
| bytes
| Profile ID
| Profile ID
|-
|-
| 0x250 + '''Volume Descriptor Structure Size'''
| 0x274
| 0x1
| 0x1
| byte
| byte
| Unknown
| Unknown
|-
|-
| 0x251 + '''Volume Descriptor Structure Size'''
| 0x275
| 0x5
| 0x5
| bytes
| bytes
Line 56: Line 51:
|}
|}


= Rest of file =
The signature located in the [[Console Security Certificate]] is signed using the hash at location 0x228. (SHA1 hash from 0x23C - 0x1000)
From 0x1000 the rest of the file is the standard block portion of [[STFS]], with block 0 starting at 0x3000, and hash table 0 at 0x1000/0x2000


From 0x1000 the rest of the file is the standard block portion of [[STFS]], with data block 0 starting at 0x3000, and hash table 0 at 0x1000/0x2000. The PEC file always has 2 hash tables (type 1 package).


[[Category:File formats]]
[[Category:File formats]]

Revision as of 17:35, 9 September 2012

PEC (Profile Embedded Content) files are used by the Xbox 360 as an additional layer of security on profiles. Certain GPD files are relocated inside the PEC file. The PEC file stores information on avatar clothes/items, and is just another STFS package. With this said you must properly rehash and resign the PEC file to avoid the Xbox detecting corruption of the package. Rehashing is the same as all STFS packages (besides the starting block), but resigning is different (view below).

Header

Offset Length Type Information
0x0 0x228 Console Security Certificate Signed
0x228 0x14 bytes SHA1 hash from 0x23C-0x1000
0x23C 0x8 signed long Unknown
0x244 0x24 Structure Volume Descriptor
0x268 0x4 signed int Unknown
0x26C 0x8 bytes Profile ID
0x274 0x1 byte Unknown
0x275 0x5 bytes Console ID

The signature located in the Console Security Certificate is signed using the hash at location 0x228. (SHA1 hash from 0x23C - 0x1000)

From 0x1000 the rest of the file is the standard block portion of STFS, with data block 0 starting at 0x3000, and hash table 0 at 0x1000/0x2000. The PEC file always has 2 hash tables (type 1 package).