SMI
Jump to navigation
Jump to search
The SMI, likely standing for Software Manufacture Information, is a signed certificate contained in the Serial Flash Individual Data (idata) segment at offset 0x10000. It contains the minimal version of the System Software that can be installed on the console. This is justified by hardware evolutions that do not support old System Software and is also a security measure to prevent downgrade. It contains a message encrypted with per-console keys and is signed with RSA. It is parsed and verified in the Secure Loader.
See also PS Vita SMI.
Structure
The structure is exactly the same as on PS Vita.
/**
* The SMI certificate can be divided in three areas:
* - offset 0x000~0x07F: plaintext area
* - offset 0x080~0x0FF: payload area
* - offset 0x100~0x1FF: signature area
*/
struct SMI_certificate_plaintext {
/** SMI Magic: Must be "SMI\0" */
uint8_t magic[4];
/** SMI Version: Must be 1 */
uint32_t version;
/**
* Minimal firmware version, in plaintext
* This is ignored by second_loader on PS Vita, and maybe by secure_loader on PS4.
*/
uint32_t minfw_plaintext;
/**
* Padding up to offset 0x80 (payload area).
* Checked by second_loader to be all zeroes.
*/
uint8_t must_be_zero[0x80 - 0xC];
/**
* Minimal firmware version allowed to run on unit.
* Must be higher or equal to the version contained
* in second_loader, or panic() will be called.
*/
uint32_t manuSdkVersion;
/**
* Padding up to offset 0x100 (signature area).
* ?Must be all zeroes but not checked?
*/
uint8_t unused[0x100 - 0x84];
/** RSA2048 Signature area */
uint8_t signature[0x100];
};
Table of Minimal System Software version in SMI
PS4 Model | S/N? | Version in SMI | Notes |
---|---|---|---|
DEHT-AW03AK-L0 | No | 0.915 | Ancient Devkit |
CUH-1004A B01 | No | 1.01 | Initial Retail |
DUH-T1000AA | No | 1.01 | Initial TestKit |
DUH-D1000AA | No | 1.01 | Initial DevKit |
CUH-1001A B01 | No | 1.05 | N.A. |
CUH-1001A B01 | No | 1.52 | N.A. |
DUH-T1000AA | No | 1.52 | N.A. |
CUH-1115A B02 | No | 1.70 | N.A. |
CUH-1116A B01Y | No | 1.75 | N.A. |
DUH-T1000AA | No | 2.03 | N.A. |
CUH-1216B B01 | No | 2.50 | N.A. |
CUH-1215A BZ5X | No | 2.50 | N.A. |
CUH-1200A B01 | No | 2.55 | N.A. |
CUH-1215A B01 | No | 3.15 | N.A. |
CUH-2015A B01X | No | 3.55 | N.A. |
DUH-T7000AA | No | 3.70 | Neo TestKit |
DUH-D7000JA | No | 3.70 | Neo Dekkit |
CUH-7006B B01 | No | 4.05 | N.A. |
CUH-2108B B01X | No | 4.55 | N.A. |
CUH-7115B BZ5X | No | 4.70 | N.A. |
CUH-2116B B01Y | No | 5.07 | N.A. |
CUH-7215B B01X | No | 6.50 | N.A. |
CUH-7216B BZSY | No | 6.70 | N.A. |