闪存文件系统: Difference between revisions
updata to eng.ver http://www.3dbrew.org/w/index.php?title=Flash_Filesystem&diff=8383 |
fix |
||
Line 7: | Line 7: | ||
===加密=== | ===加密=== | ||
NAND文件系统使用[[AES|AES-CTR]]加密。NAND中TWL region使用TWL NAND的[[AES|keyslot]],而CTR region使用CTR NAND的[[AES|keyslots]]。CTR NAND分区的 keyslot 是由NCSD分区的磁盘文件系统类型所决定的。每个分区表的NCSD分区加密标志位(TWL keyslot 或 CTR keyslots)这样表示: 0x01=TWL, 0x02=CTR。TWL/CTR NAND region在NCSD头部指定。NAND的前 0x0B100000 byte使用TWL keyslot加密,在0x00012E00之前则只有MBR分区表使用TWL keyslot(那个region包括下表所示的TWL分区)。 | NAND文件系统使用[[AES|AES-CTR]]加密。NAND中TWL region使用TWL NAND的[[AES|keyslot]],而CTR region使用CTR NAND的[[AES|keyslots]]。CTR NAND分区的 keyslot 是由NCSD分区的磁盘文件系统类型所决定的。每个分区表的NCSD分区加密标志位(TWL keyslot 或 CTR keyslots)这样表示: 0x01=TWL, 0x02=CTR。TWL/CTR NAND region在NCSD头部指定。NAND的前 0x0B100000 byte使用TWL keyslot加密,在0x00012E00之前则只有MBR分区表使用TWL keyslot(那个region包括下表所示的TWL分区)。 | ||
切记,一台3DS重加密的NAND镜像,不能直接给另一台3DS使用,“NAND”分区的某些文件也需要修改/更换。 | |||
===NAND结构=== | ===NAND结构=== | ||
Line 50: | Line 50: | ||
| | | | ||
| 0x0B100000 | | 0x0B100000 | ||
| 0x00030000 | | 0x00030000 | ||
| 0x04 | | 0x04 | ||
Line 92: | Line 91: | ||
==== 0x4000 ==== | ==== 0x4000 ==== | ||
某些3DS系统(比如3DS XL),有一个明文的FAT16引导记录在NAND偏移的0x4000位置。这个块在launch-day 3DS的系统里是不存在的。在这个“分区”内只有明文的块。 | |||
=CTR分区= | =CTR分区= | ||
Line 111: | Line 110: | ||
├── [[nandrw/shared|shared]] | ├── [[nandrw/shared|shared]] | ||
└── [[nandrw/sys|sys]] | └── [[nandrw/sys|sys]] | ||
├── [[nandrw/sys/lgy.log|lgy.log]] ( | ├── [[nandrw/sys/lgy.log|lgy.log]] (发生错误时由[[FIRM|TWL_FIRM]]记录,是与native.log等效的) | ||
├── [[nandrw/sys/LocalFriendCodeSeed_B|LocalFriendCodeSeed_B]] | ├── [[nandrw/sys/LocalFriendCodeSeed_B|LocalFriendCodeSeed_B]] | ||
├── [[nandrw/sys/native.log|native.log]] (This is written to by [[ErrDisp]]) | ├── [[nandrw/sys/native.log|native.log]] (This is written to by [[ErrDisp]]) | ||
Line 132: | Line 131: | ||
├── [[nand/ro|ro]] | ├── [[nand/ro|ro]] | ||
├── [[nand/rw|rw]] | ├── [[nand/rw|rw]] | ||
├── [[nand/ticket|ticket]] ( | ├── [[nand/ticket|ticket]] (自ticket存放到[[Title Database|ticket.db]]后,这个目录就是空的了) | ||
├── [[Title Data Structure|title]] | ├── [[Title Data Structure|title]] | ||
└── [[nand/tmp|tmp]] ( | └── [[nand/tmp|tmp]] (这个通常是空的, even when installation for a system update still needs [[AMNet:FinishInstallToMedia|finalized]]) | ||