系统转移
System Transfer是2011年6/7日发布的 2.0.0-2所增加的功能。 可以从DSi向3DS转移DSiWare,DSi Sound title中的音频记录, "internal memory"相片,WFC 配置。DSi使用的"Nintendo 3DS Transfer Tool"可以从DSi Shop下载,而3DS System Transfer在System Settings中。System Transfer也能转移3DSWare到其他3DS中。
DSi系统转移[edit]
存档在DSi到3DS的DSiWare转移中不被转移。转移DSiWare时,DSi系统转移title会向DSi Shop发送一个SOAP请求,向3DS shop账号传送了DSiWare license/ticket。然后这个DSi title从NAND删除ticket。3DS很快会从shop/CDN下载ticket,tmd,content。
任天堂3DS广播基站标记为供应商0009BF。这包括3DS用户名,并且可能还有一些consoleID么?DSi验证/联系与一些二进制的SSID有关。rest请求使用明文多播ntr/twl,发送大量keep-alive数据帧。
DSi与3DS互相发送发送国家代码,用户名,序列号。DSi给3DS发送拥有的title列表,3DS似乎通过SOAP向eshop服务器确认titles是否被转移过了。然后DSi收到可以传送的title列表的响应。 用户选择传送的title后,DSi 发送title的banner给3DS,很多帧之后发送TitleID。
之后DSi转移工具和3DS转移工具启动,DSi向ecs.t.nintendowifi.net,ias.t.nintendowifi.net和cas.t.nintendowifi.net发送HTTPS的SOAP请求。3DS则向nus.c.nintendowifi.net,ecs.c.nintendowifi.net和cas.c.nintendowifi.net发送HTTPS基本上SOAP(NUS*是用于系统更新的)的请求。当进入DSiWare列表目录,DSi和3DS都会向ecs*和cas*请求。3DS系统转移不会许可你(似乎是服务器端或者别的地方。服务器提供版本号,机器验证)转移任何东西,除非你系统已经最新。
DSi发送Title列表时,在最初的6字节的802.11数据负载之后,就是如下的头部。头部之后则是Title列表。
偏移 | 长度 | 说明 |
---|---|---|
0x0 | 0x4 | 总为0? |
0x0 | 0x4 | ? |
0x8 | 0x4 | 总titles? |
0xc | 0x1 | 填充 |
0xd | 0x48 | 全部是 0xFF 的字节. |
3DS的Title列表头部:
偏移 | 长度 | 说明 |
---|---|---|
0x0 | 0x4 | ? |
0x4 | 0x4 | 常为0? |
0x8 | 0x4 | ? |
0xc | 0x4 | 总Title数量? |
0x10 | 0x4 | ? |
0x14 | 0x4 | ? |
0x18 | 0xf | 3DS序列号 |
0x27 | 0x11 | 0xbd7和0xf7的二进制交错。如头一字节为0xbd,下一个就是0xf7,之后是0xbd,以此类推。 |
0x28 | 0x8 | 未知,可能是用于标识DeviceID,在DSi Shop SOAP请求的ASCII编码的3DS Ticket ConsoleID?(未确认) |
0x30 | 0x18 | 总是0? |
DSi和3DS的Title记录[edit]
总记录长度为0x128字节。
偏移 | 长度 | 注释 |
---|---|---|
0x0 | 0x8 | TitleID |
0x8 | 0x8 | UTF-8的Little-endian编码的ticketID |
0x10 | 0x4 | 常为0? |
0x14 | 0x4 | 常为1? |
0x18 | 0x4 | 某种ID? |
0x1c | 0x4 | 常为0? |
0x20 | ? | 有时候Title名称存储在这里? |
3DS程序转移[edit]
3DS程序转移从版本3.0.0-5开始可用。可以参考3DS系统转移
参考[edit]
任天堂的日版系统转移页面.