Skip to content

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 Console Security Certificate]]
0x228 0x14 bytes SHA1 hash from 0x23C-0x1000
0x23C 0x8 signed long Unknown
0x244 0x24 [[STFS#Volume_Descriptor Structure]]
0x268 0x4 signed int Unknown
0x26C 0x8 bytes Profile ID
0x274 0x1 byte Unknown
0x275 0x5 bytes Console ID

Notes

The Console ID at 0x275 must match the Console ID located in the Console Security Certificate, otherwise the Xbox 360 will see it as a corrupted 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 data block 0 starting at 0x3000, and hash table 0 at 0x1000/0x2000. The PEC file always has 2 hash tables (type 1 package).

System Software