QA Flags
Jump to navigation
Jump to search
QA Token SELF Structure[edit | edit source]
QA Token Header[edit | edit source]
Offset | Size | Description | Notes |
---|---|---|---|
0 | 4 | Magic | 54 14 F5 EE |
0x4 | 4 | Unknown ?Version? | Always 10 01 01 32 |
0x8 | 1 | Category | 06 on QA Token SELF |
0x9 | 1 | Program Type | 00 for Token |
0xA | 2 | Padding | |
0xC | 2 | Header Size | 0xC0 for Token |
0xE | 2 | Metadata Size | 0x1E0 for Token |
0x10 | 8 | File Size | Size of SELF (0x300 for Token) |
0x18 | 2 | Number of Segments | 1 for Token |
0x1A | 2 | Unknown ?Algorithm? | Always 0x32 |
0x1C | 4 | Padding |
QA Token Segment (1 segment example)[edit | edit source]
Offset | Size | Description | Notes |
---|---|---|---|
0x20 | 0x8 | Flags | 0x6 for token (encrypted and signed) |
0x28 | 0x8 | Offset | 0x2A0 for token (also header size + metadata size) |
0x30 | 0x8 | ENCRYPTED_COMPRESSED_SIZE | 0x60 for token |
0x38 | 0x8 | DECRYPTED_DECOMPRESSED_SIZE | 0x60 for token |
QA Token Additional Information[edit | edit source]
Offset | Size | Description | Notes |
---|---|---|---|
0x40 | 0x10 | Padding? | |
0x50 | 0x20 | SHA256 of body? | ex: 13 18 98 62 FC FE C7 13 A6 0A 82 5B 70 4C 92 41 C5 39 27 F6 8F 41 B6 56 C8 9F 8B 17 59 58 B4 2F |
0x70 | 0x40 | QAF Name | ex: QAF_SYS_DEV_I. Some PS5 QAF names are similar with PS Vita and PS4 ones. |
0xB0 | 0x8 | Start Date | ex: 20191010 |
0xB8 | 0x8 | End Date | ex: 20210410 |
QA Token Metadata (1 segment example)[edit | edit source]
Offset | Size | Description | Notes |
---|---|---|---|
0xC0 | 0x10 | AES-CBC-CTS Key | Key used to Decrypt Body |
0xD0 | 0x10 | AES-CBC-CTS IV | IV used to Decrypt Body |
0xE0 | 0x20 | HMAC DIGEST | HMAC-SHA256 Digest of Segment |
0x100 | 0x20 | HMAC KEY | HMAC-SHA256 Key of Segment |
0x120 | 0x180 | RSA 3096 SIGNATURE | RSA Signature used to validate the self |
QA Token Body[edit | edit source]
As the only known QA Token dump is in encrypted form, what follows is guessed from the structure of decrypted QA Tokens of previous PlayStation consoles (PS Vita, PS3).
Offset | Size | Description | Notes |
---|---|---|---|
0 | 0x10 | OpenPSID | OPEN PSID of the system |
0x10 | 0x10 | QA FLAGS | QA FLAGS of the system. |
0x20 | 0x20 | PADDING | |
0x40 | 0x20 | SHA256HMAC | Hash of previous in SHA256HMAC Format (deduced from ps4 code) |
Example[edit | edit source]
QAF Names[edit | edit source]
QAF_SYS_DEV_I (for the only known sample in existence)
Validity Period[edit | edit source]
10 Oct 2019 - 4 October 2021 (for the only known sample in existence)
- 725 Days = 365 Days + 360 Days
- US Date Format in ASCII
Token Size[edit | edit source]
0x60 bytes -> for the only known sample in existence