Nintendo - Nintendo Switch dat notes: Difference between revisions

From No-Intro ~ Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:
* Digital serial: 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 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.
* Dump tool: e.g. "NXDumpTool vx.x.x"
* 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.
* Files (in the order used below). "Format" be set to "CDN". Native filenames should be used. Attached to each NCA file should optionally be a .txt file containing the HTTP response headers for that ''exact'' download request (not one from downloading it again / getting a HEAD request afterwards etc).:
* 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).
** 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)
* How to make FullXCI files:
** [lowercase_rights_id].tik (stripped ticket) (optional) [it should be defined here how exactly the ticket is stripped]
** 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>
** [lowercase_rights_id]-enctitlekey.bin (titlekey as binary data) (optional)
** Linux: <code>cat 512_bytes_initial_area <(cat /dev/zero | head -c 3584) scene_style_xci > fullxci</code>
** [lowercase_rights_id]-dectitlekey.bin (decrypted titlekey as binary data) (optional)
* Dump origin:
** "Console" - dumped from installed title data on console
** "Dev console" - dumped from installed title data on console
** "CDN" - title data retrieved straight from CDN to PC, via PC downloading tool (that emulates the Switch download process) or network sniffer


----
[[Category:Dat notes]]
 
 
In most cases, you can ignore this:
* The Game ID field in archives is being manually filled out with the Title ID 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.

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