Activation ACF

From PS4 Developer wiki
Revision as of 23:37, 28 September 2016 by Cfwprophet (talk | contribs)
Jump to navigation Jump to search

Found in the System Flash on offset 0x1C9080 and only present on Dev / Test Dumps.

Total length = 0x68 ~= 104 bytes.

There is a structure in it. It hase a Magic of 4 bytes, then there are constant 4 bytes following by unique changing 16 bytes. Then again constant 4 bytes following by unique 8 bytes and a third time, constant 4 bytes following by unique 64 bytes.

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õÕ.Ç=

Struct

From To Description
1C9080 1C9083 MAGIC acf
1C9084 1C9087 Constant1 Constant 4 bytes always the same.
1C9088 1C9097 Unique1 Unique 16 bytes.
1C9098 1C909B Constant2 Constant 4 bytes always the same.
1C909C 1C90A3 Unique2 Unique 8 bytes.
1C90A4 1C90A7 Const3 Constant 4 bytes always the same.
1C90A8 1C90E7 Unique3 Unique 64 bytes.


 typedef struct ACF {
     const unsigned char MAGIC;
     const int32 CONST1;
     unsigned char BYTE16;
     const int32 CONST2;
     unsigned char BYTE8;
     const int32 CONST3;
     unsigned char BYTE64;
 } ACF;


 protected internal struct ACF {
     internal static byte[] MAGIC = new byte[4];
     internal static int CONST1;
     internal static byte[] BYTE16 = new byte[16];
     internal static int CONST2;
     internal static byte[] BYTE8 = new byte[8];
     internal static int CONST3;
     internal static byte[] BYTE64 = new byte[64];
 }