Talk:Flash Filesystem

From 3dbrew
Jump to navigation Jump to search
  • Can't help with nand reading but lib references give some indication of the filesystem.

Note! some of these NAND paths below may be outdated. Confirmed NAND directories/directory structures are on the Flash Filesystem page.

nand:/extdata
nand:/ro/
nand:/ro/sys/HWCAL0.dat
nand:/ro/sys/HWCAL1.dat
nand:/rw/
nand:/rw/sys/
nand:/rw/sys/config
nand:/rw/sys/updater.log
nand:/rw/sys/PlayHistory.dat
nand:/rw/sys/PedometerHistory.dat
nand:/rw/sys/LocalFriendCodeSeed
nand:/rw/sys/SecureInfo
nand:/title
nand:/title/%08x/%08x
nand:/title/%08x/%08x/%08x.app
nand:/title/%08x/%08x/title.tmd
nand:/ticket
nand:/ticket/%08x/%08x.tik
nand:/tmp

@yellows8, since the \titles directory is similar between nand and sdmc, do you think it should have a separate page from the SD Filesystem page?--3dsguy 02:36, 23 August 2012 (CEST)

Go ahead.(SD/NAND /title is exactly the same, except for the additional encryption for SD perhaps) NAND has .db files too, but I'm not sure where those are located. --Yellows8 02:59, 23 August 2012 (CEST)

Possible firmware downgrade vulnerability

Please correct where I'm wrong. Assume we have NAND-dumps from two 3DS units A and B for both firmware versions X and Y. I.e. 4 data sets AX, AY, BX, BY. Assume that all clear data is identical for the same firmware version or unique per console and stay untouched with firmware version change (i.e. AX, BX is a brand-new console with a factory reset dumps and AY, BY have just updated firmwares). Then AX xor AY = BX xor BY and BX = BY xor AX xor AY.

There's no way to convert a NAND image from one 3DS for use on another 3DS, without generating the NAND xorpad(s) for both systems(requires ARM9 code exec on both). Another reason why ARM9 exec is needed here is because there's certain files stored in CTRNAND containing console-unique AESMACs. Since that keyslot is initialized by bootrom those AESMACs can only be calculated on the same 3DS which you're calculating these CTRNAND AESMACs for. --Yellows8 18:02, 10 April 2014 (CEST)