Nintendo - Nintendo Switch dat notes: Difference between revisions

From No-Intro ~ Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(20 intermediate revisions by the same user not shown)
Line 1: Line 1:
* The Game ID field in archives is being filled out with the Title ID informally by some datters. Its not being extracted in any consistent way (even though it can be from the game data) and may be from just looking it up on the internet.
* The file serial field in archives is being manually filled out with the Product Code by some datters. Its not being extracted in any consistent way (even though it possibly can be from the game data, for a small number of titles) and may be from just looking it up on the internet.
* Make sure the cert at (offset 0x7000 length 0x200) is FF'd out - this is sensitive/cart-unique data. NXDumptool wipes it (unless this is disabled), but some p2p/scene releases still contain the cert.
* CNMT NCAs in the digital CDN dat should have the file serial set to the value of the "ProgID" NCA field and the value of the CNMT "TitleId" field (comma seperated).
* How to make FullXCI files:
** Windows: create the zero-filled file using powershell, with either <code>[System.IO.File]::WriteAllBytes('3584_bytes_of_zeroes', [Byte[]]::new(3584))</code> or <code>$stream = (New-Item 3584_bytes_of_zeroes -ItemType File).OpenWrite(); $stream.SetLength(3584); $stream.Dispose()</code>, then in cmd, run <code>copy /b 512_bytes_initial_area + 3584_bytes_of_zeroes + scene_style_xci fullxci</code>
** Linux: <code>cat 512_bytes_initial_area <(cat /dev/zero | head -c 3584) scene_style_xci > fullxci</code>


* The extracted files should be datted as follows for data extracted from an NSP made using the NXDumpTool instructions above:
[[Category:Dat notes]]
** In the digital serial field, put the titleid at 0x0 in the cnmt (not the NCA it is contained in) and put in the Comment+ on its own line "Title ID in Digital Serial field is from CNMT". [todo: a title id should be put in the "digital serial" field, but we need to determine which to use. the one stored in the cnmt is an option, but if the console stores the one from the CDN endpoint request, it would be better to use that].
** The files should be in the following order in the datfile:
*** ncas alphabetically  using the "x.cnmt.nca"/"x.nca" naming (add the ".nca"/.cnmt.nca" if it isn't present - i.e. if dumped straight from CDN)
*** [lowercase_rights_id].tik (optional)
*** [lowercase_rights_id]-enctitlekey.bin (titlekey as binary data) (optional)
*** [lowercase_rights_id]-dectitlekey.bin (decrypted titlekey as binary data) (optional)

Latest revision as of 11:20, 2 August 2023

  • The file serial field in archives is being manually filled out with the Product Code by some datters. Its not being extracted in any consistent way (even though it possibly can be from the game data, for a small number of titles) and may be from just looking it up on the internet.
  • Make sure the cert at (offset 0x7000 length 0x200) is FF'd out - this is sensitive/cart-unique data. NXDumptool wipes it (unless this is disabled), but some p2p/scene releases still contain the cert.
  • CNMT NCAs in the digital CDN dat should have the file serial set to the value of the "ProgID" NCA field and the value of the CNMT "TitleId" field (comma seperated).
  • How to make FullXCI files:
    • Windows: create the zero-filled file using powershell, with either [System.IO.File]::WriteAllBytes('3584_bytes_of_zeroes', [Byte[]]::new(3584)) or $stream = (New-Item 3584_bytes_of_zeroes -ItemType File).OpenWrite(); $stream.SetLength(3584); $stream.Dispose(), then in cmd, run copy /b 512_bytes_initial_area + 3584_bytes_of_zeroes + scene_style_xci fullxci
    • Linux: cat 512_bytes_initial_area <(cat /dev/zero | head -c 3584) scene_style_xci > fullxci