Activation ACF: Difference between revisions
Jump to navigation
Jump to search
Cfwprophet (talk | contribs) No edit summary |
CelesteBlue (talk | contribs) No edit summary |
||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
ACF is a data structure stored in PS4 Kit System Flash at offset [http://www.psdevwiki.com/ps4/Flash-Main#0x1C9080_ACF_.28Dev.2FTest.29 0x1C9080]. | |||
ACF certainly stands for Activation Code/Control/Console File/Flag. | |||
See also [https://wiki.henkaku.xyz/vita/AFV PSVita equivalent]. | |||
Structure | = Structure = | ||
Total length is 0x68 bytes. | |||
{| class="wikitable" | |||
|- | |||
! From !! To !! Description | |||
|- | |||
| 1C9080 || 1C9083 || '''Magic''' "acf\0" | |||
|- | |||
| 1C9084 || 1C9087 || '''Format Version''' Constant 4 bytes. (format_ver, format_minor_ver) | |||
|- | |||
| 1C9088 || 1C9097 || '''Activation Key''' | |||
|- | |||
| 1C9098 || 1C909B || '''Issue Number'''. Ex: 3, 15. | |||
|- | |||
| 1C909C || 1C909F || '''Start Date''' 4 bytes. Little Endian. | |||
|- | |||
| 1C90A0 || 1C90A3 || '''Expire Date''' 4 bytes. Little Endian. Usually 90 days since Start Date. | |||
|- | |||
| 1C90A4 || 1C90A7 || '''Reserved''' Always zeroed. | |||
|- | |||
| 1C90A8 || 1C90E7 || '''Key_Hash''' Unique 64 bytes. | |||
|- | |||
|} | |||
<source lang="C"> | |||
typedef struct SceAcf { | |||
char magic[4]; | |||
uint32_t format_ver; | |||
char activation_key[16]; | |||
uint32_t issue_no; | |||
uint32_t start_date; | |||
uint32_t expire_date; | |||
uint32_t reserved; | |||
char key_hash[64]; | |||
} SceAcf; | |||
</source> | |||
= Example = | |||
Structure and constant bytes are for every Dev / Test the same. Example: | |||
Unique | * Magic bytes: red. | ||
* Constant bytes: blue. | |||
* Unique bytes: green. | |||
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ||
Line 21: | Line 60: | ||
001C90D0 <span style="background:#00ff00;">D1 7D EE BC EF 03 3C 23 37 EE 10 EB F6 88 1B 85</span> Ñ}î¼ï.<#7î.ëöˆ.… | 001C90D0 <span style="background:#00ff00;">D1 7D EE BC EF 03 3C 23 37 EE 10 EB F6 88 1B 85</span> Ñ}î¼ï.<#7î.ëöˆ.… | ||
001C90E0 <span style="background:#00ff00;">35 8F 4B F5 D5 1A C7 3D</span> 5.KõÕ.Ç= | 001C90E0 <span style="background:#00ff00;">35 8F 4B F5 D5 1A C7 3D</span> 5.KõÕ.Ç= | ||
Latest revision as of 02:21, 30 December 2020
ACF is a data structure stored in PS4 Kit System Flash at offset 0x1C9080.
ACF certainly stands for Activation Code/Control/Console File/Flag.
See also PSVita equivalent.
Structure[edit | edit source]
Total length is 0x68 bytes.
From | To | Description |
---|---|---|
1C9080 | 1C9083 | Magic "acf\0" |
1C9084 | 1C9087 | Format Version Constant 4 bytes. (format_ver, format_minor_ver) |
1C9088 | 1C9097 | Activation Key |
1C9098 | 1C909B | Issue Number. Ex: 3, 15. |
1C909C | 1C909F | Start Date 4 bytes. Little Endian. |
1C90A0 | 1C90A3 | Expire Date 4 bytes. Little Endian. Usually 90 days since Start Date. |
1C90A4 | 1C90A7 | Reserved Always zeroed. |
1C90A8 | 1C90E7 | Key_Hash Unique 64 bytes. |
typedef struct SceAcf {
char magic[4];
uint32_t format_ver;
char activation_key[16];
uint32_t issue_no;
uint32_t start_date;
uint32_t expire_date;
uint32_t reserved;
char key_hash[64];
} SceAcf;
Example[edit | edit source]
Structure and constant bytes are for every Dev / Test the same. Example:
- Magic bytes: red.
- Constant bytes: blue.
- Unique bytes: green.
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 001C9080 61 63 66 00 01 02 00 00 D6 B1 DA DE C7 82 7A A4 acf.....Ö±ÚÞÇ‚z¤ 001C9090 21 AE 4E D0 D9 BF B1 1A 03 00 00 00 11 55 E2 52 !®NÐÙ¿±......UâR 001C90A0 11 FC 58 53 00 00 00 00 CC B4 CD 3A 0A F5 C0 F4 .üXS....Ì´Í:.õÀô 001C90B0 4F 04 6B C3 95 16 E6 D8 FB 0B F2 56 B0 3B BA 00 O.kÕ.æØû.òV°;º. 001C90C0 26 B0 D3 BA 55 5F B0 40 0F 54 34 22 E1 E4 DA A7 &°ÓºU_°@.T4"áäÚ§ 001C90D0 D1 7D EE BC EF 03 3C 23 37 EE 10 EB F6 88 1B 85 Ñ}î¼ï.<#7î.ëöˆ.… 001C90E0 35 8F 4B F5 D5 1A C7 3D 5.KõÕ.Ç=