  We demonstrate an attack on the secure bootchain of the Nintendo 3DS in order
to gain early code execution. The attack utilizes the block shuffling
vulnerability of the ECB cipher mode to rearrange keys in the Nintendo 3DS's
encrypted keystore. Because the shuffled keys will deterministically decrypt
the encrypted firmware binary to incorrect plaintext data and execute it, and
because the device's memory contents are kept between hard reboots, it is
possible to reliably reach a branching instruction to a payload in memory. This
payload, due to its execution by a privileged processor and its early
execution, is able to extract the hash of hardware secrets necessary to decrypt
the device's encrypted keystore and set up a persistent exploit of the system.
