闪存文件系统: Difference between revisions

Syphurith (talk | contribs)
m update to follow english one
T (talk | contribs)
fix translation,up to table NAND structure
Line 1: Line 1:
N3DS的NAND闪存芯片容量为1GB。
3DS使用了容量为1GB的一片NAND闪存芯片。


=== 格式 ===
=== 格式 ===
任天堂3DS的闪存文件格式目前尚未公开,闪存芯片可以通过主板上的输出针脚进行内容提取,这已经成功了。然而提取出来的数据被加密了,不解密无法理解。
通过主板上的输出针脚提取闪存芯片内容是可行的,并且已经取得成功。但数据是加密过的,不经解密无法理解。
 
===文件系统===
 
每个NAND分区皆为FAT文件系统。


===加密===
===加密===
NAND文件系统使用AES-CTR加密。NAND中TWL区域使用TWL的NAND[[AES|密码键]],而CTR区域使用CTR的NAND密码键。用于CTR-NAND扇区的密码键是由NCSD扇区的文件系统类型决定的。TWL/CTR的NAND区域在NCSD头中指定。NAND的最开始0x0B100000字节使用TWL密码键,在0x00012E00之前则只有MBR分区表使用TWL密码键(那个区域包括如下所示的TWL扇区)。
NAND文件系统使用AES-CTR加密。NAND中TWL region使用TWL NAND的[[AES|keyslot]],而CTR region使用CTR NAND的[[AES|keyslots]]。CTR NAND分区的 keyslot 是由NCSD分区的磁盘文件系统类型所决定的。TWL/CTR NAND region在NCSD头部指定。NAND的前 0x0B100000 byte使用TWL  keyslot加密,在0x00012E00之前则只有MBR分区表使用TWL  keyslot(那个region包括下表所示的TWL分区)。


===分区===
===NAND结构===
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
名称
分区名
!  偏移
!  偏移
!  长度
!  长度
!  NCSD分区文件系统类型
!  注释
!  注释
|-
|  0x0
|  0x200
|  NCSD头, 包括了后续CTR-NAND的偏移/大小信息. 这个块也包含了 TWL-NAND MBR分区表.
|-
|-
|  twln
|  twln
|  0x00012E00
|  0x00012E00
|  0x08FB5200
|  0x08FB5200
|  TWL-NAND的FAT16文件系统(DSi)
|  TWL-NAND FAT16. (DSi)
|-
|-
|  twlp
|  twlp
|  0x09011A00
|  0x09011A00
|  0x020B6600
|  0x020B6600
|  TWL-NAND照片的FAT12文件系统(DSi)
|  TWL-NAND PHOTO FAT12. (DSi)
|-
|-
|   
|   
|  0x0B100000
|  0x0B100000
|  0x00030000
|  0x00030000
一般在这段全部是零
0x04
|  默认为全零填充此分区. AGB_FIRM was never launched. 包含 AGB_FIRM GBA游戏.
|-
|-
|  firm0
|  firm0
|  0x0B130000
|  0x0B130000
|  0x00400000
|  0x00400000
|  [[FIRM|固件]]分区
|  0x03
|  [[FIRM|Firmware]] 分区.
|-
|-
|  firm1
|  firm1
|  0x0B530000
|  0x0B530000
|  0x00400000
|  0x00400000
|  [[FIRM|固件]]分区(是备份,和上面一样)
|  0x03
|  [[FIRM|Firmware]] 分区.(备份分区, 同上)
|-
|-
|   
|   
|  0x0B930000
|  0x0B930000
|  0x2F5D0000
|  0x2F5D0000
|  CTR-NAND分区(3DS)
|  0x01
|  CTR-NAND partition. (3DS)
|-
|-
|  nand
|  nand
|  0x0B95CA00
|  0x0B95CA00
|  0x2F3E3600
|  0x2F3E3600
|  CTR-NAND的FAT16文件系统
|  CTR-NAND FAT16文件系统.
|}
|}
3DS中NAND的TWL的FAT分区FAT卷标名"TWL",而CTR的FAT分区则是"CTR"。TWL分区的偏移和长度存在MBR分区表,而CTR分区表信息存在NAND的NCSD头。CTR-NAND分区的扇面0有一个MBR分区表,而MBR的签名在+0x1fe位置。在这个分区表中只有一个分区就是CTR-NAND的FAT16分区。
3DS中NAND的TWL的FAT分区FAT卷标名"TWL",而CTR的FAT分区则是"CTR"。TWL分区的偏移和长度存在MBR分区表,而CTR分区表信息存在NAND的NCSD头。CTR-NAND分区的扇面0有一个MBR分区表,而MBR的签名在+0x1fe位置。在这个分区表中只有一个分区就是CTR-NAND的FAT16分区。