In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Changes

Jump to navigation Jump to search
237 bytes added ,  05:30, 19 August 2018
Line 18: Line 18:  
== Encryption ==  
 
== Encryption ==  
   −
The icon database is encrypted with AES128 CBC. There's a two byte header:
+
The icon database is encrypted with AES-128-CBC. There's a two byte header:
   −
0: (unknown, usually zero?)
+
byte 0: always zero.
1: key index
+
byte 1: aes key index
    
followed by encrypted data.
 
followed by encrypted data.
   −
nn_idbe contains hardcoded keys in one 0x50 sized block, consisting of the 16-byte hardcoded IV, and 4 hardcoded 16-byte AES128 keys.
+
nn_idbe contains hardcoded keys in one 0x50 sized block (0x10 * 5), consisting of the 16-byte hardcoded IV, and 4 hardcoded 16-byte AES-128 keys.
   −
In version 11464 of OSv11 (000500101000400A), the keys are located at $DATA+0x4c of nn_idbe.rpl.
+
In OSv12 (000500101000400A), the keys are located at $.rodata+0x4c of nn_idbe.rpl.
 +
 
 +
IV = "A46987AE47D82BB4FA8ABC0450285FA4"
 +
 
 +
K0 = "4AB9A40E146975A84BB1B4F3ECEFC47B"
 +
K1 = "90A0BB1E0E864AE87D13A6A03D28C9B8"
 +
K2 = "FFBB57C14E98EC6975B384FCF40786B5"
 +
K3 = "80923799B41F36A6A75FB8B48C95F66F"
 +
 
 +
AES_KEYS = [K0, K1, K2, K3]
    
== Decrypted icon format ==
 
== Decrypted icon format ==
33

edits

Navigation menu