From 3dbrew
Jump to navigation Jump to search

The 9.6.0-24 system update was released on March 23, 2015.


Official change-log:

  • A Home Menu Layout setting has been added to HOME Menu Settings. Users can save and load up to 8 layouts of the HOME Menu with different theme and software icon arrangements
  • Additional categories have been added to the Theme Shop under “View More” for easier navigation
  • Further improvements to overall system stability and other minor adjustments have been made to enhance the user experience
  • Nintendo 3DS, Nintendo 3DS XL, and Nintendo 2DS Systems Only:
    • amiibo Settings has been added to HOME Menu Settings. amiibo Settings allows users to register an amiibo owner and nickname, delete data written to an amiibo by supported software, or reset an amiibo*
    • This feature will require a peripheral device scheduled to launch in 2015

System Titles[edit]

All updated New3DS-only titles except for NVer and NATIVE_FIRM were switched to the new NCCH crypto.

The following system applications were updated: System Settings, eShop, and System Transfer.

The New3DS-only placeholder menu system-application was updated(still a stub).

The following system applets were updated: Home Menu, error applet, mint, Miiverse applet, amiibo Settings, and the New3DS Internet Browser.

The following system-modules were updated: Config, GSP(Old3DS/New3DS), PTM(Old3DS/New3DS), Download Play, HTTP, NIM, SSL, IR, NS, act, and NFC(Old3DS/New3DS).

The following CFAs were updated: 0004009B00010402, 0004009B00012302(and the equivalent non-USA-region titles), NGWord bad word list, Nintendo Zone hotspot list, NVer(Old3DS/New3DS), CVer, and 0004001B00018002. CVer had a new file added to RomFS.

The Old3DS Fangate_updater title was updated.

Old3DS/New3DS NATIVE_FIRM was updated.

Many other titles were updated/added for only KOR-region.



The arm9loader was updated.

Old version of firm generated and initialized keyX for keyslots 0x15, 0x16, 0x18-0x1F. This version keeps the old algorithm for keyslots 0x11, 0x15, 0x18.

For keyslots 0x16, 0x19-0x1F it uses a new key for keyslot 0x11, but the actual algorithm has not been changed. This time the keyslot 0x11 seed is loaded from (nand_sector96+0x10) instead of (nand_sector96+0). They also changed the initialization vector for the 0x19-0x1F key-generation to a new hardcoded key.

Since we don't know the decrypted value at (nand_sector96+0x10), we don't know the new key for keyslot 0x11, and we cannot generate keys for the updated keyslots 0x16, 0x19-0x1F. Thus they plugged their hole and we can no longer decrypt arm9-binary without an arm9 code-execution exploit compatible with 9.6.0-X or <tricks where some of these *require* nand-modding>.

On panic, arm9loader now clears keyslots 0x15, 0x16, 0x18, 0x19, 0x19-0x1F. Previous versions only cleared 0-7, 0x15, 0x16.


The only actual code change for New3DS-only Process9 was that support for a new NCCH crypto flag 0xB was added.


The ARM11-kernel and Process9 were updated. All of the ARM11-modules were updated, FS-module had the most changes among these modules.

The following is all of the changes for the (Old3DS) ARM11-kernel:

  • 4 functions all with the same following changes were updated, one of these functions is called by svcWaitSynchronization1. Code was added which checks whether a certain s64 variable is <=0, when it is the variable value is set to 0x7FFFFFFFFFFFFFFF.
  • The only other updated function appears to be memory related?

See Also[edit]

System update reports: