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

NX Game Info Switch: Difference between revisions

From GameBrew
(Created page with "{{Infobox Switch Homebrews |title=NX Game Info |image=nxgameinfoswitch.png |description=Tool to read information from Nintendo Switch game files |author=garoxas |lastupdated=2019/11/10 |type=PC Utilities |version=0.7.1 |license=GPL-3.0 |download=https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch.7z |website=https://gbatemp.net/threads/nx-game-info-for-macos-and-windows.528419/ |source=https://github.com/garoxas/NX_Game_Info |donation= }} {{#seo: |title=Switch Hom...")
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox Switch Homebrews
{{Infobox Switch Homebrews
|title=NX Game Info
|title=NX Game Info
|image=nxgameinfoswitch.png
|image=Nxgameinfo.png
|description=Tool to read information from Nintendo Switch game files
|description=Tool to read information from Nintendo Switch game files
|author=garoxas
|author=garoxas
|lastupdated=2019/11/10
|lastupdated=2019/11/10
|type=PC Utilities
|type=Game Management
|version=0.7.1
|version=0.7.1
|license=GPL-3.0
|license=GPL-3.0
|download=https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch.7z
|download=https://dlhb.gamebrew.org/switchhomebrews/nxgameinfo.7z
|website=https://gbatemp.net/threads/nx-game-info-for-macos-and-windows.528419/
|website=https://gbatemp.net/threads/nx-game-info-for-macos-and-windows.528419/
|source=https://github.com/garoxas/NX_Game_Info
|source=https://github.com/garoxas/NX_Game_Info
|donation=
|donation=
}}
}}
{{#seo:
A multiplatform tool to read information from Nintendo Switch game files.
|title=Switch Homebrew PC Tools (PC Utilities) - GameBrew
 
|title_mode=append
This started as an experiment to add LibHac to Switch Backup Manager, but due to the complexity of integrating it into an existing app, it progressed as a separate project.
|image=nxgameinfoswitch.png
 
|image_alt=NX Game Info
==Features==
}}
*Windows, macOS and Linux compatible (Command Line Interface).
{{cleanup|article|Needs cleanup}}
*NSP, XCI, NRO and installed titles on Switch SD card.
Tool to read information from Nintendo Switch game files
*Game files structure (Scene Release, CDN Rip, Authoring Tool, Converted from other formats).
*NCA signature to verify official Nintendo titles. Unmodified titles should pass this verification, although titles converted from other formats will not.
*Filesystem services permissions. Game titles should not have excessive permissions, and only trust titles with <code>Unsafe</code> and <code>Dangerous</code> from reliable source.
 
==User guide==
===Information===
*Title ID.
*Base Title ID.
*Title Name.
*Display Version:
** Only available for <code>Base</code> and <code>Update</code>.
*Version.
*Latest Version:
** Latest title version from [https://switchbrew.org/wiki/Network#tagaya tagaya CDN server].
*System Update:
**XCI - System version on <code>Update Partition</code>.
**NSP - <code>RequiredSystemVersion</code> from Metadata XML.
*System Version:
**Minimum system version from [https://switchbrew.org/wiki/CNMT#Application_Extended_Header Metadata NCA]. Only available for <code>Base</code> and <code>Update</code>.
*Application Version:
**Minimum application version from [https://switchbrew.org/wiki/CNMT#AddOnContent_Extended_Header Metadata NCA]. Only available for <code>DLC</code>.
*MasterKey.
*Title Key.
*Publisher:
** Only available for <code>Base</code> and <code>Update</code>.
*Languages:
**List of language codes as specified by [https://tools.ietf.org/html/rfc5646 RFC 5646]. Only available for <code>Base</code> and <code>Update</code>.
*File Name.
*File Size.
*Type:
**Base.
**Update.
**DLC.
*Distribution:
**Digital - eShop titles (NSP).
**Cartridge - Gamecard titles (XCI).
**Homebrew - Homebrew titles (NRO).
**Filesystem - Installed titles on Switch SD card (NAX0).
*Structure:
**Scene (for XCI files) - XCI files with <code>Update Partition</code>, <code>Normal Partition</code> and <code>Secure Partition</code>.
**Converted (for XCI files) - XCI files with only <code>Secure Partition</code>. Commonly found in NSP converted to XCI files.
**Scene (for NSP files) - NSP files with legalinfo.xml, nacp.xml, programinfo.xml, cardspec.xml. Commonly found in BBB Scene Release.
**Homebrew (for NSP files) - NSP files with <code>authoringtoolinfo.xml</code>.
**CDN (for NSP files) - NSP files with <code>cert</code> and <code>tik</code>. Commonly found in NSP files ripped from the eShop CDN server.
**Converted (for NSP files) - NSP files without cert and tik. Commonly found in XCI converted to NSP files.
**Filesystem (for SD Card files) - NAX0 files installed titles on Switch SD card.
**Not complete - XCI/NSP files with only <code>NCA</code> files.
*Signature:
**Passed - NCA signature valid. Only available for official titles.
**Not Passed - NCA signature invalid. <code>Should only be for homebrew titles and not official titles</code>.
*Permission:
**Safe - Titles without Filesystem services access or [https://switchbrew.org/wiki/Filesystem_services#Permissions permissions bitmask 0x8000000000000000] unset.
**Unsafe - Titles with Filesystem services access and [https://switchbrew.org/wiki/Filesystem_services#Permissions permissions bitmask 0x8000000000000000] set. <code>Has EraseMmc permission, should only be for homebrew titles and not game titles</code>.
**Dangerous - Titles with Filesystem services access and [https://switchbrew.org/wiki/Filesystem_services#Permissions permissions bitmask 0xffffffffffffffff] set. <code>Has all permissions, should only be for homebrew titles and not game titles</code>.
**Only available for <code>Base</code> and <code>Update</code>.
 
===How to use===
NX Game Info uses <code>prod.keys</code>, <code>title.keys</code> and <code>console.keys</code> in the format as defined [https://github.com/garoxas/LibHac/blob/NX_Game_Info/KEYS.md here] and <code>hac_versionlist.json</code> from [https://switchbrew.org/wiki/Network#tagaya tagaya CDN server].
 
* <code>prod.keys</code>:
** Contains common keys used by all Switch devices, also found as keys.txt in other apps. Can be obtained from your Switch using [[Lockpick Switch|Lockpick]].
** Mandatory keys includes <code>header_key</code>, <code>aes_kek_generation_source</code>,<code> aes_key_generation_source</code>, <code>key_area_key_application_source</code> and <code>master_key_00</code>. Failing to provide these keys will make the application quit <code>master_key_##</code>, <code>key_area_key_application_##</code> and <code>titlekek_##</code> will also be necessary to decrypt titles with higher MasterKey requirement.
* <code>title.keys</code> (optional):
** Title keys file, support any popular format such as from newkeydb or nutdb.
** This is required to read FS permission for games using Titlekey Crypto. Also used to map game title name and latest version if available. [https://github.com/garoxas/LibHac/blob/NX_Game_Info/KEYS.md#title-keys More details here].
* <code>console.keys</code> (optional):
** <code>sd_seed</code> key required for <code>Open SD Card</code> feature.
** Can also be obtained using [[Lockpick Switch|Lockpick]].
* <code>hac_versionlist.json</code> (optional):
** Version list file, required for Latest Version feature.
** Can be downloaded from https://pastebin.com/raw/9N26Bx10 (updated daily). No DLC version.
 
The application will look for these files at the following locations (other file locations will follow wherever prod.keys file was found).
 
*Directory of the executable file (.exe) for Windows or (.app) for macOS.
*<code>$HOME/.switch</code> e.g. C:\Users\yourname\.switch for Windows, /Users/yourname/.switch for macOS or /home/yourname/.switch for Linux.
 
<code>Export</code> menu supports exporting current list to either <code>CSV</code> or<code> XLSX</code>. For <code>CSV</code> file, default delimiter to use is comma <code>( , )</code> and user defined character can be set in <code>user.settings</code> by specifying the delimiter character in<code> CsvSeparator</code> field.
 
Compressed NCA is not supported, but there is an option to make the application accept <code>XCZ</code> and <code>NSZ</code> file extension by setting <code>NszExtension</code> field in <code>user.settings</code>. Please note that issues related to these file extensions will not be supported
 
===Command Line Interface===
====Usage====
'''Windows:'''
*Install .[https://dotnet.microsoft.com/download?initial-os=windows NET Core Runtime].
*Usage: <code>nxgameinfo_cli.exe [-h|--help] [-d|--debug] [-c|--sdcard] [-s(titleid|titlename|filename)|--sort=(titleid|titlename|filename)] [-z|--nsz] paths...</code>


==Media==
'''macOS, Linux:'''
<youtube></youtube>
*macOS: Install [https://www.mono-project.com/download/stable/#download-mac Mono] (Visual Studio channel)
*Linux (Ubuntu): Install [https://www.mono-project.com/download/stable/#download-lin-ubuntu Mono]
*Usage: <code>mono nxgameinfo_cli.exe [-h|--help] [-d|--debug] [-c|--sdcard] [-s(titleid|titlename|filename)|--sort=(titleid|titlename|filename)] [-z|--nsz] paths...</code>


====Parameters====
*-h|--help
**Show help message and immediately exit
*-d|--debug
**Print debug output to <code>debug.log</code>
*-c|--sdcard
**Treat arguments passed in <code>paths</code> parameters as installed titles on Switch SD card
*-s|--sort
**Sort output by one of the following options:
***<code>titleid</code>
***<code>titlename</code>
***<code>filename</code> (default)
*-z|--nsz
**Enable <code>XCZ</code> and <code>NSZ</code> extension
*paths
**File or directory path, can pass multiple arguments


==Screenshots==
==Screenshots==
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch-01.png
===macOS===
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch-02.png
{| style="width: 90%; margin-left:0em;"
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch-03.png
|'''- Open File/Directory'''
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch-04.png
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfo2.png
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch-05.png
|-
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch-06.png
|'''macOS GUI - Open SD Card'''
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch-07.png
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfo3.png
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfoswitch-08.png
|}
===Windows===
{| style="width: 90%; margin-left:0em;"
|'''Open File/Directory'''
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfo4.png
|-
|'''Open SD Card'''
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfo5.png
|}
===Command Line Interface===
{| style="width: 90%; margin-left:0em;"
|'''Windows'''
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfo6.png
|-
|'''macOS'''
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfo7.png
|-
|'''Linux'''
https://dlhb.gamebrew.org/switchhomebrews/nxgameinfo8.png
|}


==Changelog==
==Changelog==
'''v.1.0'''
'''v0.7.1 2019/11/10'''
* First Release.
* Export to CSV and XLSX.
* Add Column for Languages.
* Add Update Title Keys for Title Names.
'''v0.7 2019/10/06'''
*Command Line Interface.
*Add Columns for Title Key and Publisher.
*Add Right Click Context Menu on Table View.
*Update Cart System Update for 9.0.1.
*Bug fixes.
'''v0.6 2019/09/16'''
*Table Contents History.
*Add Columns for Base Title ID, System Update (for XCI), System Version, Application Version (for DLC).
*Bug fixes.
*If you downloaded prior to 16th September 2019 at 7.30 AM Pacific time, please re-download to fix the issue when application start.
'''v0.5+hotfix.1'''
*[macOS] Fix crash on v0.5 ([https://github.com/garoxas/NX_Game_Info/issues/7 #7]).
*[Windows] Save column width and filter.
'''v0.5 2019/05/12'''
*Highlight outdated titles.
*Update Latest Version List.
*Move user.config from AppData to .switch or Application Directory.
*Show last opened table contents on start.
*Bug fixes.
'''v0.4.1-alpha 2019/03/09'''
*Add export titles to text.
*Read titlekey from .tik.
*Move files enumeration to background worker.
'''v0.4-alpha 2019/02/09'''
*Improve installed titles on SD card for titles without Meta NCA.
*Save window location and size on exit.
*Add NRO support.
'''v0.3.2.1-alpha 2019/01/13'''
*Fix crash in macOS when opening file dialog.
'''v0.3.2-alpha 2019/01/13'''
*Debug Log.
'''v0.3.1-alpha 2019/01/09'''
*Background worker cancellation.
*Add progress dialog for macOS.
'''v0.3-alpha 2019/01/08'''
*Move missing Keys error messages to separate column and other fixes.
*Add support for other Title Keys file formats, and get name and version if available.
*Add icon and installed titles on Switch SD card to macOS build.
'''v0.2.1-alpha 2018/12/31'''
*Add icon and progress dialog.
'''v0.2-alpha 2018/12/29'''
*List installed titles on Switch SD card.
'''v0.1-alpha 2018/12/16'''
*Process NSP and XCI.
*Windows and macOS build.
 
==Credits==
*Thealexbarney for the [https://github.com/Thealexbarney/LibHac LibHac] library.
*switchbrew for the [https://switchbrew.org/ documentation] on the Nintendo Switch.
*gibaBR for the [https://github.com/gibaBR/Switch-Backup-Manager Switch-Backup-Manager] project.


== External links ==
== External links ==
* Gbatemp - https://gbatemp.net/threads/nx-game-info-for-macos-and-windows.528419/
* GitHub - https://github.com/garoxas/NX_Game_Info
* Github - https://github.com/garoxas/NX_Game_Info
* GBAtemp - https://gbatemp.net/threads/nx-game-info-for-macos-and-windows.528419/
* Reddit -

Latest revision as of 03:16, 11 July 2023

NX Game Info
Nxgameinfo.png
General
Authorgaroxas
TypeGame Management
Version0.7.1
LicenseGPL-3.0
Last Updated2019/11/10
Links
Download
Website
Source

A multiplatform tool to read information from Nintendo Switch game files.

This started as an experiment to add LibHac to Switch Backup Manager, but due to the complexity of integrating it into an existing app, it progressed as a separate project.

Features

  • Windows, macOS and Linux compatible (Command Line Interface).
  • NSP, XCI, NRO and installed titles on Switch SD card.
  • Game files structure (Scene Release, CDN Rip, Authoring Tool, Converted from other formats).
  • NCA signature to verify official Nintendo titles. Unmodified titles should pass this verification, although titles converted from other formats will not.
  • Filesystem services permissions. Game titles should not have excessive permissions, and only trust titles with Unsafe and Dangerous from reliable source.

User guide

Information

  • Title ID.
  • Base Title ID.
  • Title Name.
  • Display Version:
    • Only available for Base and Update.
  • Version.
  • Latest Version:
  • System Update:
    • XCI - System version on Update Partition.
    • NSP - RequiredSystemVersion from Metadata XML.
  • System Version:
    • Minimum system version from Metadata NCA. Only available for Base and Update.
  • Application Version:
    • Minimum application version from Metadata NCA. Only available for DLC.
  • MasterKey.
  • Title Key.
  • Publisher:
    • Only available for Base and Update.
  • Languages:
    • List of language codes as specified by RFC 5646. Only available for Base and Update.
  • File Name.
  • File Size.
  • Type:
    • Base.
    • Update.
    • DLC.
  • Distribution:
    • Digital - eShop titles (NSP).
    • Cartridge - Gamecard titles (XCI).
    • Homebrew - Homebrew titles (NRO).
    • Filesystem - Installed titles on Switch SD card (NAX0).
  • Structure:
    • Scene (for XCI files) - XCI files with Update Partition, Normal Partition and Secure Partition.
    • Converted (for XCI files) - XCI files with only Secure Partition. Commonly found in NSP converted to XCI files.
    • Scene (for NSP files) - NSP files with legalinfo.xml, nacp.xml, programinfo.xml, cardspec.xml. Commonly found in BBB Scene Release.
    • Homebrew (for NSP files) - NSP files with authoringtoolinfo.xml.
    • CDN (for NSP files) - NSP files with cert and tik. Commonly found in NSP files ripped from the eShop CDN server.
    • Converted (for NSP files) - NSP files without cert and tik. Commonly found in XCI converted to NSP files.
    • Filesystem (for SD Card files) - NAX0 files installed titles on Switch SD card.
    • Not complete - XCI/NSP files with only NCA files.
  • Signature:
    • Passed - NCA signature valid. Only available for official titles.
    • Not Passed - NCA signature invalid. Should only be for homebrew titles and not official titles.
  • Permission:

How to use

NX Game Info uses prod.keys, title.keys and console.keys in the format as defined here and hac_versionlist.json from tagaya CDN server.

  • prod.keys:
    • Contains common keys used by all Switch devices, also found as keys.txt in other apps. Can be obtained from your Switch using Lockpick.
    • Mandatory keys includes header_key, aes_kek_generation_source, aes_key_generation_source, key_area_key_application_source and master_key_00. Failing to provide these keys will make the application quit master_key_##, key_area_key_application_## and titlekek_## will also be necessary to decrypt titles with higher MasterKey requirement.
  • title.keys (optional):
    • Title keys file, support any popular format such as from newkeydb or nutdb.
    • This is required to read FS permission for games using Titlekey Crypto. Also used to map game title name and latest version if available. More details here.
  • console.keys (optional):
    • sd_seed key required for Open SD Card feature.
    • Can also be obtained using Lockpick.
  • hac_versionlist.json (optional):

The application will look for these files at the following locations (other file locations will follow wherever prod.keys file was found).

  • Directory of the executable file (.exe) for Windows or (.app) for macOS.
  • $HOME/.switch e.g. C:\Users\yourname\.switch for Windows, /Users/yourname/.switch for macOS or /home/yourname/.switch for Linux.

Export menu supports exporting current list to either CSV or XLSX. For CSV file, default delimiter to use is comma ( , ) and user defined character can be set in user.settings by specifying the delimiter character in CsvSeparator field.

Compressed NCA is not supported, but there is an option to make the application accept XCZ and NSZ file extension by setting NszExtension field in user.settings. Please note that issues related to these file extensions will not be supported

Command Line Interface

Usage

Windows:

  • Install .NET Core Runtime.
  • Usage: nxgameinfo_cli.exe [-h|--help] [-d|--debug] [-c|--sdcard] [-s(titleid|titlename|filename)|--sort=(titleid|titlename|filename)] [-z|--nsz] paths...

macOS, Linux:

  • macOS: Install Mono (Visual Studio channel)
  • Linux (Ubuntu): Install Mono
  • Usage: mono nxgameinfo_cli.exe [-h|--help] [-d|--debug] [-c|--sdcard] [-s(titleid|titlename|filename)|--sort=(titleid|titlename|filename)] [-z|--nsz] paths...

Parameters

  • -h|--help
    • Show help message and immediately exit
  • -d|--debug
    • Print debug output to debug.log
  • -c|--sdcard
    • Treat arguments passed in paths parameters as installed titles on Switch SD card
  • -s|--sort
    • Sort output by one of the following options:
      • titleid
      • titlename
      • filename (default)
  • -z|--nsz
    • Enable XCZ and NSZ extension
  • paths
    • File or directory path, can pass multiple arguments

Screenshots

macOS

- Open File/Directory

nxgameinfo2.png

macOS GUI - Open SD Card

nxgameinfo3.png

Windows

Open File/Directory

nxgameinfo4.png

Open SD Card

nxgameinfo5.png

Command Line Interface

Windows

nxgameinfo6.png

macOS

nxgameinfo7.png

Linux

nxgameinfo8.png

Changelog

v0.7.1 2019/11/10

  • Export to CSV and XLSX.
  • Add Column for Languages.
  • Add Update Title Keys for Title Names.

v0.7 2019/10/06

  • Command Line Interface.
  • Add Columns for Title Key and Publisher.
  • Add Right Click Context Menu on Table View.
  • Update Cart System Update for 9.0.1.
  • Bug fixes.

v0.6 2019/09/16

  • Table Contents History.
  • Add Columns for Base Title ID, System Update (for XCI), System Version, Application Version (for DLC).
  • Bug fixes.
  • If you downloaded prior to 16th September 2019 at 7.30 AM Pacific time, please re-download to fix the issue when application start.

v0.5+hotfix.1

  • [macOS] Fix crash on v0.5 (#7).
  • [Windows] Save column width and filter.

v0.5 2019/05/12

  • Highlight outdated titles.
  • Update Latest Version List.
  • Move user.config from AppData to .switch or Application Directory.
  • Show last opened table contents on start.
  • Bug fixes.

v0.4.1-alpha 2019/03/09

  • Add export titles to text.
  • Read titlekey from .tik.
  • Move files enumeration to background worker.

v0.4-alpha 2019/02/09

  • Improve installed titles on SD card for titles without Meta NCA.
  • Save window location and size on exit.
  • Add NRO support.

v0.3.2.1-alpha 2019/01/13

  • Fix crash in macOS when opening file dialog.

v0.3.2-alpha 2019/01/13

  • Debug Log.

v0.3.1-alpha 2019/01/09

  • Background worker cancellation.
  • Add progress dialog for macOS.

v0.3-alpha 2019/01/08

  • Move missing Keys error messages to separate column and other fixes.
  • Add support for other Title Keys file formats, and get name and version if available.
  • Add icon and installed titles on Switch SD card to macOS build.

v0.2.1-alpha 2018/12/31

  • Add icon and progress dialog.

v0.2-alpha 2018/12/29

  • List installed titles on Switch SD card.

v0.1-alpha 2018/12/16

  • Process NSP and XCI.
  • Windows and macOS build.

Credits

External links

Advertising: