Nintendo - Nintendo Switch dat notes: Difference between revisions

From No-Intro ~ Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
* Digital serial: For stuff not from CDN, put the from cnmt (not the NCA it is contained in). For stuff from CDN, put the title id that was requested from the CDN atum server.
* 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:
** ticket
** 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]-stripped.tik (stripped ticket) (optional). it should be stripped like this (as NXDumpTool does, as if 2019-11-23)
** Linux: <code>cat 512_bytes_initial_area <(cat /dev/zero | head -c 3584) scene_style_xci > fullxci</code>
<pre>
The RSA signature (0x100 bytes @ 0x004) is replaced with 0xFF bytes.
The RSA signature issuer (0x40 bytes @ 0x140) is replaced with "Root-CA00000003-XS00000020".
The titlekey data block (0x100 bytes @ 0x180) is zeroed-out. The first 16 bytes from it are then replaced with the encrypted titlekey.
The titlekey type field (1 byte @ 0x281) is set to 0x00 (common).
The Ticket ID field (8 bytes @ 0x290) is zeroed-out.
The Device ID field (8 bytes @ 0x298) is zeroed-out.
The Account ID field (4 bytes @ 0x2B0) is zeroed-out.</pre>
*** or
*** [lowercase_rights_id]-cetk.tik (common ticket) (optional)
** [lowercase_rights_id]-enctitlekey.bin (titlekey as binary data) (optional)
** [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