NX Game Info for macOS and Windows

I want to share something that I've been working on for a while
It started of as an experiment to add LibHac to Switch Backup Manager, but as it was easier to make a new project instead of doing with an existing app with already lots of things in it, it progressed as a separate project. Although because now it is a separate project, a macOS build was made possible


NX Game Info

Tool to read information from Nintendo Switch game files, with the following features
  • Read NSP, XCI and installed titles from SD card
  • Game files structure (Scene release, CDN rip, converted)
  • NCA signature (Verify if it's official Nintendo titles. Unmodified titles should pass this test)
  • FS permission (Read filesystem permission. Game titles should not have excessive filesystem permissions such as EraseMmc)
  • macOS and Windows build

To use this app, you need to provide 4 files
  • prod.keys: Your usual keys file, also commonly found as keys.txt in other apps. Can be obtained from your Switch using Lockpick
  • console.keys: SD seed key, can also be obtained using Lockpick. Please refer to this for more details. This is only required for Open SD Card to function, and only sd_seed key (along with sd_card_kek_source and sd_card_nca_key_source in prod.keys) is required. Other keys can be ignored
  • title.keys: 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. For more details see https://github.com/garoxas/LibHac/blob/NX_Game_Info/KEYS.md#title-keys
  • hac_versionlist.json: Version list file, can be downloaded from https://pastebin.com/raw/9N26Bx10 (updated daily). No DLC version
For more details, please refer to https://github.com/garoxas/NX_Game_Info#how-to


NX_Game_Info_macOS.png

NX_Game_Info_macOS_SD_Card.png

NX_Game_Info_Windows.png

NX_Game_Info_Windows_SD_Card.png


Download

https://github.com/garoxas/NX_Game_Info/releases


Thanks to


For macOS Users

If the app suddenly closes when you try to run it, go to System Preferences then to Security & Privacy, there you'll need to select Open Anyway to be able to run this app

gatekeeper.png
 

Garou

Well-Known Member
OP
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,667
Country
So, do I need to place this file somewhere? I only put my prod.keys and title.keys in the .switch directory.
put it in that directory as well, or you can click Update Version List from the menu. that link is outdated anyway

Also, for certain DLCs, if the signature says "NOT PASSED" but permissions says nothing, is this ok?
DLC with signature not passed usually indicates a DLC unlocker and not the actual DLC file. I think you can still use it if you got it from trusted scene release
Permission is always empty for DLC. check the readme

Also, I tried an update file and it failed to load any metadata, so I assume that means it's corrupted?
can you tell me update for what game and which version so I can test it myself

What columns should we be looking out for the verify the file's integrity?
Signature
but that's only when you use clean NSP or XCI. if it's converted from the other format (see Structure tab) then your best bet is to look at Permission tab
 
  • Like
Reactions: HaloEffect17

HaloEffect17

Hiya!
Member
Joined
Jul 1, 2015
Messages
1,320
Trophies
1
XP
2,719
Country
Canada
can you tell me update for what game and which version so I can test it myself
Hey, thanks for answering my questions. As for the failed update, it was "Kentucky Route Zero Update [v1.0.1] v65536".

Also, thanks for making this program. I will use this routinely to check file integrity.

Edit: As for pressing 'Update Version List' and 'Update Keys' under Options, I assume these are writing to the .switch directory and adding updated information there? In other words, the content of prod.keys and title.keys are being updated and I should be able to see changes in Notepad if there are any?
 
Last edited by HaloEffect17,

Garou

Well-Known Member
OP
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,667
Country
Hey, thanks for answering my questions. As for the failed update, it was "Kentucky Route Zero Update [v1.0.1] v65536".

Also, thanks for making this program. I will use this routinely to check file integrity.

Edit: As for pressing 'Update Version List' and 'Update Keys' under Options, I assume these are writing to the .switch directory and adding updated information there? In other words, the content of prod.keys and title.keys are being updated and I should be able to see changes in Notepad if there are any?
they write to hac_versionlist.json and title.keys respectively and you should be able to see in notepad

I'll try that update later tomorrow
 
  • Like
Reactions: HaloEffect17

Garou

Well-Known Member
OP
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,667
Country
Also, I tried an update file and it failed to load any metadata, so I assume that means it's corrupted?
Hey, thanks for answering my questions. As for the failed update, it was "Kentucky Route Zero Update [v1.0.1] v65536".
I'd assume yes it's corrupted
works fine when I tried opening the update file

0100327005C94800 0100327005C94000 Kentucky Route Zero 1.0.1 65536 65536 9.1.0 10 (9.1.0) <snip> Annapurna Interactive en-US,ja,fr,de,es-419,es,it,ru,ko F:\Temp\NSW\Kentucky Route Zero v65536.nsp 32.6 MB Update Digital CDN Passed Safe

what your file size? mine is 34250176 bytes
 
  • Like
Reactions: HaloEffect17

TheRealDarklord

Member
Newcomer
Joined
Dec 21, 2019
Messages
6
Trophies
0
Age
44
XP
77
Country
Germany
Maybe I'm doing something wrong or I am missing something, I could need some advice.

I want to use the cli version on my linux machine. I dropped my prod.keys and title.keys in the application folder and started the application with mono but I get the following output:

Code:
NX Game Info 0.7.1.0
Copyright ©  2018-2019 Garoxas

Keyfile missing required keys. Check if these keys exist and try again.
header_key, aes_kek_generation_source, aes_key_generation_source, key_area_key_application_source, master_key_00 or key_area_key_application_00.

I double checked the prod.keys and even grepped the file for the mentioned missing keys. They are all present. I don't know what's wrong here.
 

Garou

Well-Known Member
OP
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,667
Country
Maybe I'm doing something wrong or I am missing something, I could need some advice.

I want to use the cli version on my linux machine. I dropped my prod.keys and title.keys in the application folder and started the application with mono but I get the following output:

Code:
NX Game Info 0.7.1.0
Copyright ©  2018-2019 Garoxas

Keyfile missing required keys. Check if these keys exist and try again.
header_key, aes_kek_generation_source, aes_key_generation_source, key_area_key_application_source, master_key_00 or key_area_key_application_00.

I double checked the prod.keys and even grepped the file for the mentioned missing keys. They are all present. I don't know what's wrong here.
try put it in /home/your-name/.switch
I don't think it will read files in the application directory for linux. that's only for windows and mac
 

TheRealDarklord

Member
Newcomer
Joined
Dec 21, 2019
Messages
6
Trophies
0
Age
44
XP
77
Country
Germany
Thanks for the tip. Unfortunately this doesn't work either. Same message.
If I move the key files to another location the error changes and indicates that the key files are missing instead of particular keys.
 

Garou

Well-Known Member
OP
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,667
Country
Thanks for the tip. Unfortunately this doesn't work either. Same message.
If I move the key files to another location the error changes and indicates that the key files are missing instead of particular keys.
can you send me your key file in PM? delete or replace the actual keys with any characters first of course
 

TheRealDarklord

Member
Newcomer
Joined
Dec 21, 2019
Messages
6
Trophies
0
Age
44
XP
77
Country
Germany
Sure. Interesting fact: I used a windows laptop and the same keys files and the cli build and it works.
Is a minimum mono version required to work properly?
 

Garou

Well-Known Member
OP
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,667
Country
Sure. Interesting fact: I used a windows laptop and the same keys files and the cli build and it works.
Is a minimum mono version required to work properly?
I replaced all the x's with actual keys and sure enough it works without problem for me. but I need to ask, your actual keys are 16 bytes long (32 characters) right?
also make sure that your key files are using proper unix end of line. you can try running this command file /path/to/prod.keys and see if it tells you that the file ends with CRLF line terminators or not

not sure about mono version, but I build it targetting .NET Framework 4.7.1 so maybe older mono version is not compatible. here's the version I'm using now Mono JIT compiler version 6.4.0.198 (tarball Tue Sep 24 01:20:30 UTC 2019)
 

TheRealDarklord

Member
Newcomer
Joined
Dec 21, 2019
Messages
6
Trophies
0
Age
44
XP
77
Country
Germany
The key length looks valid. The file also has correct line terminators. I did not tamper with the prod.keys file after it was dumped by lockpick.
The prod.keys are fine. They work if I use them on a windows system with the exact same cli build.

I previously used Mono 4.6.2 and updated to the latest version 6.8.0.105 but still no avail.
As it worked on windows I could finish my task of analyzing some nsps. If you want to investigate further I could create an issue at your repository?
 

Garou

Well-Known Member
OP
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,667
Country
The key length looks valid. The file also has correct line terminators. I did not tamper with the prod.keys file after it was dumped by lockpick.
The prod.keys are fine. They work if I use them on a windows system with the exact same cli build.

I previously used Mono 4.6.2 and updated to the latest version 6.8.0.105 but still no avail.
As it worked on windows I could finish my task of analyzing some nsps. If you want to investigate further I could create an issue at your repository?
yeah sure. thanks
 

Masamune3210

Well-Known Member
Member
Joined
Apr 23, 2016
Messages
132
Trophies
0
Age
28
XP
623
Country
United States
Is there any way I can copy multiple filenames at a time from the program, selecting multiple entries and selecting copy filename only copies the first one to the clipboard
 

Corgano

Well-Known Member
Newcomer
Joined
Jul 15, 2015
Messages
66
Trophies
0
Age
29
XP
521
Country
Canada
I'm using the version you posted in the previous post, and i was wondering if there's any way to change the formatting for the renaming of it?

Also is there any way to wither rename or export a CSV from the CLI version of it?
 

Garou

Well-Known Member
OP
Member
Joined
Jan 13, 2015
Messages
1,213
Trophies
0
XP
1,667
Country
I'm using the version you posted in the previous post, and i was wondering if there's any way to change the formatting for the renaming of it?

unfortunately no as everything is hardcoded in the app itself
if you're comfortable with building the app yourself, I can give you hint on where you need to change

Also is there any way to wither rename or export a CSV from the CLI version of it?

no rename support on the cli version, but if you want export csv feature then let me know so I can add it asap
 

Corgano

Well-Known Member
Newcomer
Joined
Jul 15, 2015
Messages
66
Trophies
0
Age
29
XP
521
Country
Canada
no rename support on the cli version, but if you want export csv feature then let me know so I can add it asap
Yes please!

If you feel up to it, adding a way to adjust the format in the GUI version would be awesome. Even if it's just an ini file you edit manually it'd be better than nothing.
 

Corgano

Well-Known Member
Newcomer
Joined
Jul 15, 2015
Messages
66
Trophies
0
Age
29
XP
521
Country
Canada
If you have the ability, nsz and xcz would be awesome. I know the CLI version has nsz support, maybe it could be copy pasted into the gui version?, it really should be on by default - nsz's are becoming more common all the time

Edit: I descovered it doesn't find a game name for DLC's :/
 
Last edited by Corgano,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    I @ idonthave: :)