@@ -40,10 +40,16 @@ const u8 sectorHash_dev[0x20] = {
40
40
0x09 , 0x54 , 0xE3 , 0x85 , 0xDE , 0x47 , 0x55 , 0xAF , 0xC6 , 0xCB , 0x1D , 0x8D , 0xC7 , 0x84 , 0x5A , 0x64
41
41
};
42
42
43
- // standard sighax signature hash - still unknown (= missing puzzle piece)
43
+ // sighax signature hash - thanks go to Myria & SciresM for bruteforcing this
44
44
const u8 sighaxHash [0x20 ] = {
45
- 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
46
- 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00
45
+ 0x07 , 0x8C , 0xC0 , 0xCF , 0xD8 , 0x50 , 0xA2 , 0x70 , 0x93 , 0xDD , 0xA2 , 0x63 , 0x0C , 0x36 , 0x03 , 0xCA ,
46
+ 0x0C , 0x96 , 0x96 , 0x9B , 0xD1 , 0xF2 , 0x6D , 0xA4 , 0x8A , 0xC7 , 0xB1 , 0xBA , 0xE5 , 0xDD , 0x52 , 0x19
47
+ };
48
+
49
+ // sighax dev signature hash - thanks go to Myria & SciresM for bruteforcing this
50
+ const u8 sighaxHash_dev [0x20 ] = {
51
+ 0xE6 , 0x35 , 0xC6 , 0x36 , 0xDC , 0x62 , 0x59 , 0xD6 , 0x22 , 0x8A , 0xF5 , 0xBE , 0xD2 , 0x84 , 0x6E , 0x33 ,
52
+ 0x96 , 0xD3 , 0x78 , 0x6E , 0xDF , 0x50 , 0x3D , 0x11 , 0x86 , 0x84 , 0x01 , 0x59 , 0x97 , 0x50 , 0x42 , 0x26
47
53
};
48
54
49
55
u32 ValidateFirmHeader (FirmHeader * header , u32 data_size ) {
@@ -111,7 +117,7 @@ u32 ValidateSector(void* sector) {
111
117
112
118
u32 CheckFirmSigHax (void * firm ) {
113
119
FirmHeader * header = (FirmHeader * ) firm ;
114
- return (sha_cmp (sighaxHash , header -> signature , 0x100 , SHA256_MODE ) == 0 ) ? 0 : 1 ;
120
+ return (sha_cmp (( IS_DEVKIT ) ? sighaxHash_dev : sighaxHash , header -> signature , 0x100 , SHA256_MODE ) == 0 ) ? 0 : 1 ;
115
121
}
116
122
117
123
u32 CheckBoot9Strap (void * firm ) {
0 commit comments