9.6.0-24: Difference between revisions

Emufan4568 (talk | contribs)
mNo edit summary
 
(2 intermediate revisions by one other user not shown)
Line 38: Line 38:
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.
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 a new arm9 code-execution exploit or nandmodding.
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.
On panic, arm9loader now clears keyslots 0x15, 0x16, 0x18, 0x19, 0x19-0x1F. Previous versions only cleared 0-7, 0x15, 0x16.


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


===Old3DS NATIVE_FIRM===
===NATIVE_FIRM===
The ARM11-kernel and Process9 were updated. All of the ARM11-modules were updated, FS-module had the most changes among these modules.
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:
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 [[SVC|svcWaitSynchronization1]]. Code was added which checks whether a certain s64 variable is <=0, when it is the variable value is set to 0x7FFFFFFFFFFFFFFF.
* 4 functions all with the same following changes were updated, one of these functions is called by [[SVC|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?
* The only other updated function appears to be memory related?
Line 56: Line 56:
* [http://yls8.mtheall.com/ninupdates/reports.php?date=03-23-15_08-05-03&sys=ctr]
* [http://yls8.mtheall.com/ninupdates/reports.php?date=03-23-15_08-05-03&sys=ctr]
* [http://yls8.mtheall.com/ninupdates/reports.php?date=03-23-15_08-05-13&sys=ktr]
* [http://yls8.mtheall.com/ninupdates/reports.php?date=03-23-15_08-05-13&sys=ktr]
[[Category:Firmware Versions]]