rm -rf $mnt/corbenik
cp -r out/* $mnt/ || exit 0
( cd $mnt/ && ./n3ds_firm.sh )
+mv $mnt/arm9loaderhax{,_si}.bin
umount $mnt || exit 0
sync || exit 0
eject ${dev} || exit 0
slot = 0x16;
use_aeskey(0x11);
- aes_decrypt(decrypted_keyx, header->slot0x16keyX, 1, AES_CNT_ECB_DECRYPT_MODE);
+ ecb_decrypt(header->slot0x16keyX, decrypted_keyx, 1, AES_CNT_ECB_DECRYPT_MODE);
setup_aeskeyX(slot, decrypted_keyx);
}
if (arm9bin_iscrypt) {
// Decrypt the arm9bin.
if (decrypt_arm9bin((arm9bin_h *)((uintptr_t)dest + section->offset), firm_title, fsig->version)) {
+ fprintf(stderr, " ARM9 segment is encrypted\n");
return 1;
}
firmware_changed = 1; // Decryption of arm9bin performed.
use_aeskey(0x11);
uint8_t keyx[AES_BLOCK_SIZE];
for (int slot = 0x19; slot < 0x20; slot++) {
- ecb_decrypt(keyx, keydata, 1, AES_CNT_ECB_DECRYPT_MODE);
+ ecb_decrypt(keydata, keyx, 1, AES_CNT_ECB_DECRYPT_MODE);
setup_aeskeyX(slot, keyx);
*(uint8_t *)(keydata + 0xF) += 1;
}