0x00, 0x00, 0x00, 0x01, 0x00, 0x81, 0x00, 0x01, 0x03, 0xFF, 0xFF, 0xFF, 0x18, 0x43, 0xC1, 0x4D 0x00, 0x00, 0x00, 0x01, 0x00, 0x85, 0x00, 0x0A, 0x14, 0x05, 0x67, 0xA0, 0x79, 0x37, 0xDC, 0x17 00000000 00 00 00 01 00 89 00 0B 14 00 EF DD CA 25 52 66
You’re probably wondering: “What the hell is this sequence of bytes?”. This is the IDPS, a sequence of bytes which determine console type. This structure is relatively undocumented until now, anyway. The IDPS is contained in EID0. EID0 is on the console internal flash as the file eEID and has multiple sections. I had made a splitter application to make your life easier a long time ago. Now, EID is decrypted by metldr, and is passed over to the isolated loader, which may pass it to a self. We can see this in graf_chokolo’s original payload. The IDPS is also used in various other parts of the system which could be of interest to you, but I will not discuss those right now. The IDPS itself, isn’t decrypted.
The IDPS contains your target ID, motherboard? and BD? revision. The IDPS shown at the beginning of this article is the dummy IDPS, the one that’s used when your IDPS fails to be decrypted. That IDPS belongs to a DECR-1000A. The one below belongs to a European PS3, and the one below that belongs to a Australian/NZ PS3.
Here’s a list of target IDs:
|81||Reference Tool (DECR)|
|86||Retail South Korea|
|87||Retail United Kingdom|
|89||Retail Australia/New Zealand|
|8A||Retail South Asia|
|8D||Retail China (Never released)|
|A0||System Debugger (Sony Internal)|