Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Firmware Version Inspector Switch: Difference between revisions

From GameBrew
(Created page with "{{Infobox Switch Homebrews |title=Firmware Version Inspector |image=firmwareversioninspectorswitch.png |description=Get FW version from NAND dump. |author=shchmue |lastupdated=2022/11/07 |type=PC Utilities |version=2022 |license=GPL-3.0 |download=https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch.7z |website=https://gbatemp.net/threads/firmware-version-inspector-get-fw-version-from-nand-dump.515308/ |source=https://github.com/shchmue/FVI |donation=...")
 
No edit summary
 
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=Firmware Version Inspector
|title=Firmware Version Inspector
|image=firmwareversioninspectorswitch.png
|image=firmwareversioninspectornx.png
|description=Get FW version from NAND dump.
|description=Get FW version from NAND dump.
|author=shchmue
|author=shchmue
|lastupdated=2022/11/07
|lastupdated=2023/04/28
|type=PC Utilities
|type=PC Utilities
|version=2022
|version=2022
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectornx.7z
|website=https://gbatemp.net/threads/firmware-version-inspector-get-fw-version-from-nand-dump.515308/
|website=https://gbatemp.net/threads/firmware-version-inspector-get-fw-version-from-nand-dump.515308/
|source=https://github.com/shchmue/FVI
|source=https://github.com/shchmue/FVI
|donation=
|donation=
}}
}}
{{#seo:
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.
|title=Switch Homebrew PC Tools (PC Utilities) - GameBrew
 
|title_mode=append
'''Author's note:''' Python and command line can be difficult for unfamiliar users, so if possible, it is recommended to use the [[NxNandManager Switch|NxNandManager]] tool, which among other things can list the firmware version of a NAND backup.
|image=firmwareversioninspectorswitch.png
 
|image_alt=Firmware Version Inspector
==User guide==
}}
Requires Python 3 with pycryptodome (pycrypto works too):
{{cleanup|article|Needs cleanup}}
 
Get FW version from NAND dump.
pip install pycryptodome
 
If this is an encrypted backup like Hekate makes (ie. you haven't dumped a decrypted System partition via [[HacDiskMount Switch|HacDiskMount]]), you need to provide your console-specific BIS key 2. Dump this using [[biskeydump Switch|biskeydump]], and save the output to a text file to pass to <code>FVI</code> via the <code>-b</code> option.
 
Then run from command line:
 
<pre>
python FVI.py [-b=/path/to/biskeyfile] <dumpfile>


==Media==
biskeyfile must contain the following lines:
<youtube></youtube>
  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
</pre>


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch-01.png
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectornx2.png
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch-02.png
 
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch-03.png
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectornx3.png
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch-04.png
 
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch-05.png
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectornx4.png
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch-06.png
 
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch-07.png
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectornx5.png
https://dlhb.gamebrew.org/switchhomebrews/firmwareversioninspectorswitch-08.png
 
==Compatibility==
Tested under Windows 10 with Anaconda Python 3.6.5 and Ubuntu 16.04 LTS with Python 3.5.2.
 
==Credits==
<code>crypto.py</code> module is from [https://github.com/ihaveamac/switchfs/blob/master/switchfs/crypto.py switchfs] under MIT license - it was in turn ported to Python 3 from crypto.py gist by plutooo


==Changelog==
Big thanks to the [https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system 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.
'''v.1.0'''
* First Release.


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/firmware-version-inspector-get-fw-version-from-nand-dump.515308/
* GitHub - https://github.com/shchmue/FVI
* Github - https://github.com/shchmue/FVI
* GBAtemp - https://gbatemp.net/threads/firmware-version-inspector-get-fw-version-from-nand-dump.515308/
* Reddit -

Latest revision as of 04:03, 16 Haziran 2023

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: