Firmware Version Inspector Switch

From GameBrew
Firmware Version Inspector
Firmwareversioninspectornx.png
General
Authorshchmue
TypePC Utilities
Version2022
LicenseGPL-3.0
Last Updated2023/04/28
Links
Download
Website
Source

Scans a Nintendo Switch NAND dump and identifies its firmware version and whether exFAT is present based on the names of the .nca files in SYSTEM:/Contents/registered.

Author's note: Python and command line can be difficult for unfamiliar users, so if possible, it is recommended to use the NxNandManager tool, which among other things can list the firmware version of a NAND backup.

User guide

Requires Python 3 with pycryptodome (pycrypto works too):

pip install pycryptodome

If this is an encrypted backup like Hekate makes (ie. you haven't dumped a decrypted System partition via HacDiskMount), you need to provide your console-specific BIS key 2. Dump this using biskeydump, and save the output to a text file to pass to FVI via the -b option.

Then run from command line:

python FVI.py [-b=/path/to/biskeyfile] <dumpfile>

 biskeyfile must contain the following lines:
   BIS Key 2 (crypt): <32-digit hex key>
   BIS Key 2 (tweak): <32-digit hex key>
  omit -b if System partition already decrypted (eg. dumped with HacDiskMount)

 dumpfile must be NAND dump (eg. Hekate rawnand.bin dump) or System partition

Screenshots

firmwareversioninspectornx2.png

firmwareversioninspectornx3.png

firmwareversioninspectornx4.png

firmwareversioninspectornx5.png

Compatibility

Tested under Windows 10 with Anaconda Python 3.6.5 and Ubuntu 16.04 LTS with Python 3.5.2.

Credits

crypto.py module is from switchfs under MIT license - it was in turn ported to Python 3 from crypto.py gist by plutooo

Big thanks to the Wikipedia entry on FAT layout - being able to read the dump disjointly means FVI only needs to fetch and decrypt a small handful of clusters rather than the entire 2 or 32GB file.

External links

Advertising: