There is a reference for PSP's act.dat rif edat format posted here:
link to information
there may be similarities between PS3 and PSP below:
Code:
EDAT/SPRX format:
[HEADER]
0x00: 00 50 53 50 -> .PSP
0x04: 45 44 41 54 -> EDAT
0x08: 02 00 00 00 -> Content key format (0x2000000 fixed key from npdrm / 0x2000100 version key from act.dat)
0x0C: 90 00 -> Header size
0x0E: 01 01 -> Header format (01 01 = sprx; 00 01 = edat)
0x10 - 0x40 -> Content ID
0x40 -> Hash generated from Content ID
0x50: 00 00 00 00 -> NULL
0x54: 00 00 00 00 -> NULL
0x58 - 0x70 -> Signature
0x80 -> Hash generated from signature
[HEADER]
0x90: [Encrypted PRX (SPRX)] / [PGD (EDAT)]
Code:
RIF format:
0x00: 00 00 00 01 -> License version (shared with act.dat)
0x04: 00 00 00 02 -> File version
0x08 - 0x10 -> Account ID
0x10 - 0x40 -> Content ID
0x40 -> Hash generated from private key
0x50 -> Hash generated from license key
0x60: 00 00 01 1F -> License start time
0x64: C5 16 7B D8 -> License expiration time
0x68: 00 00 00 00 -> NULL
0x6C: 00 00 00 00 -> NULL
0x70 - 0x90 -> Signature
Code:
ACT.DAT format:
0x00: 00 00 00 01 -> License version (shared with .rif)
0x04: 00 00 00 01 -> File version
0x08 - 0x10 -> Account ID
0x10 - 0x1010 -> Data hashes
0x1010 - 0x1030 -> Signature
A MU link contains a sample act.dat and rif file for ps3 can be found if you search for "COD:BO First Strike DLC Activation blus30591" with google.
I'm reading PSP forums, and it may possible to code an utility for cfw PS3 users, that decrypts their purchased content (A valid act.dat and rif required) if knowledge matures
I see the reason that, some users lost their bought DLC because of someting not related with piracy, for example updating fw, hdd, etc.
A PC utility could be written only if npdrm self contains a free license, etc...