/NX_Game_Info

Tool to read information from Nintendo Switch game files

Primary LanguageC#GNU General Public License v3.0GPL-3.0

NX Game Info

Build status
Nightly build (Windows) https://ci.appveyor.com/project/garoxas/nx-game-info/build/artifacts
Stable build https://github.com/garoxas/NX_Game_Info/releases

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

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

NX Game Info uses prod.keys, title.keys and console.keys in the format as defined in https://github.com/garoxas/LibHac/blob/NX_Game_Info/KEYS.md and hac_versionlist.json from tagaya CDN server

  • prod.keys: 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, required for Permission check if .tik file not available
  • console.keys: Optional, sd_seed key required for Open SD Card feature
  • hac_versionlist.json: Optional, required for Latest Version feature

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

macOS

Open File/Directory

NX_Game_Info_macOS.png

Open SD Card

NX_Game_Info_macOS_SD_Card.png

Windows

Open File/Directory

NX_Game_Info_Windows.png

Open SD Card

NX_Game_Info_Windows_SD_Card.png

Command Line Interface (Windows, macOS, Linux)

Usage

Windows

nxgameinfo_cli.exe [-h|--help] [-d|--debug] [-c|--sdcard] [-s(titleid|titlename|filename)|--sort=(titleid|titlename|filename)] paths...

macOS, Linux

mono nxgameinfo_cli.exe [-h|--help] [-d|--debug] [-c|--sdcard] [-s(titleid|titlename|filename)|--sort=(titleid|titlename|filename)] 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)
  • paths
    • File or directory path, can pass multiple arguments

Windows

Install .NET Core Runtime from the following link
https://dotnet.microsoft.com/download?initial-os=windows

NX_Game_Info_Windows_cli.png

macOS

Install .NET Core Runtime and Mono (Visual Studio channel) from the following links
https://dotnet.microsoft.com/download?initial-os=macos
https://www.mono-project.com/download/stable/#download-mac

NX_Game_Info_macOS_cli.png

Linux (Ubuntu)

Install .NET Core Runtime and Mono from the following links
https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/runtime-current
https://www.mono-project.com/download/stable/#download-lin-ubuntu

NX_Game_Info_Linux_cli.png

Credits

@Thealexbarney for the LibHac library.
@switchbrew for the documentation on the Nintendo Switch.
@gibaBR for the Switch-Backup-Manager project.