Edit: Apparently its not the keys file, sorry for that. Looks like it unpacks two other license files though, really small as well.
Im not sure if this is related but I have been spending alot of time comparing the firmwares for the PS3. Particularly 1.50 and 1.51 since they are almost identical. All seem to point to pkg files within the update. Maybe the pup is simply a compressed pkg file or something of the sort. I also see mention of "root" and "xml" possibly pointing the pkg to a root directory on the ps3 hd.
Again im not a technical wizard when it comes to the PS3. Im just taking guesses here so if im totaly wrong or if this has already been talked about then please excuse my post.
im actually comparing how the firmware structures are to the .pkg structures of the encrypted games or demos. Both should have a directory tree as you can see in the firmware updates. I believe that the games are decrypted by the firmware and then installed. im just trying to figure this out as much as the next guy.
Just to mention it, the PKG files inside the PUPs are a different format (on the surface atleast) than the PKG files we've been downloading.
Another thing to add to the list of things to try is to pad a pkg file with zeros, and see what (if any) impact that will have. There used to be crappy proxies that mangled files by rounding them up with zeros. I don't know if any large scale proxy is still doing this. If so, the store/unpacker in theory will handle this.
Thanks. A quick look shows lots of zeros. I'd imagine the last batch of values is an SHA1 hash of the original file, or a tar of the collection of files.
0x-5Fx: Almost equal in all files (Name of FILE)
5Fx-BEx: Completelly diferent (Signature?)
BFx-13Fx: Completelly the same in all files
Im still searching!
Edit: I can see some differences here:
- It's confirmed 1Dx-1Fx is the size of the file
- 0Fx CHANGE: In Fl0w is 01, in license files is 05
- 16x and 17x CHANGE: In Fl0w is 0250, in license files is 0001
- 2Cx 2Fx and F0x F3x: SAME VALUE IN ALL LICENSE FILES 0170, but i can't find a known....
My take on the files so far:
0x00 - 0x03: PKG Magic
0x04 - 0x17: ?? (likely includes attributes/flags, pkg format version, file count?)
0x18 - 0x1f: PKG file size
0x20 - 0x27: offset or length unsure of starting point
0x28 - 0x2f: offset or length.. this is consistantly 0x80 shorter than the second block of data @ 0x100
0x30 - 0x5f: zero padded package identifier
0x60 - 0xbf: 0x60 byte signature/certificate??
0xc0 - 0xeb: ?? (likely details about the compression and encryption methods used)
0xec - 0xf3: same as @ 0x28
0xf4 - 0xff: zero pad to 128 multiple?
0x100 - (0x100 + @0x28 + 0x80): payload and signature / certificate?
(EOF - 0x20) - (EOF - 0x0d): original file SHA1?
(EOF - 0x0c) - EOF: zero pad