Repository navigation
NxFileViewer v3.0.4 – Fork Release
Added
-
Firmware verification for ZIP archives and folders of loose NCAs using bundled
fw/hashes/*.jsonsize and SHA-256 references, without keys or extraction. -
Firmware checks fetch current hash references from GitHub only for detected or explicitly selected firmware, with no disk cache and a visible bundled-reference fallback during outages. Repeated firmware checks fetch again; pure game folders make no request.
-
Automatic firmware detection in folder integrity checks, firmware version/result details, and CSV export. Missing, changed, extra and duplicate NCA entries fail verification.
-
Selectable title metadata sources: Tinfoil, regional GitHub TitleDB with persistent offline cache, and configurable NLib API.
-
Firmware mapping for master-key revision 0x16 to 23.0.0. Its CRC32 reference was derived from a local key file and is not an independent upstream confirmation.
-
Added validation results for
prod.keysandtitle.keysto the settings window. -
Added detection and reporting of missing
master_key_XXrevisions in outdatedprod.keysfiles. -
Added CRC32-based validation of known master-key revisions through
master_key_16. -
Added malformed-line detection for key files.
-
Added structural validation of Rights ID and title-key pairs in
title.keys. -
Added an estimate of the newest supported firmware based on the highest valid master-key revision.
-
Added a warning when a key file contains a newer master-key revision that this application version cannot validate or map to a firmware.
-
Added localized validation messages for English, German, French, and Spanish.
-
Added automated tests for key-file validation, firmware mapping, and unknown master-key detection.
-
Added anonymous FTP support to the existing HTTP/HTTPS key downloader.
-
Added editable default Sphaira FTP locations for
prod.keysandtitle.keys; customized addresses continue to be stored in the application settings. -
Downloads now use a temporary file and only replace the destination after a successful transfer.
-
Added parsing of
main.npdmfrom program NCAs. -
Added a program-security assessment based on signed ACID file-system permissions, including safe, unsafe, and dangerous classifications.
-
Added the ACID signature state, raw permission mask, and authorized service list to the program details.
-
Added base title ID, required master-key revision/key generation, minimum application version for DLC, and NCA distribution type to the title overview.
-
Added package-structure detection for Scene releases, CDN rips, converted packages, Homebrew packages, and incomplete NSP/NSZ/XCI/XCZ files.
-
Added package file size and an estimated NSZ/XCZ compression ratio with reconstructed uncompressed size.
-
Added detection of the system-update version contained in an XCI/XCZ update partition.
Fixed
-
Solid NCZ reads now cache the decoded prefix in a temporary file, avoiding complete decompression restarts on backward/random reads and improving the likely bottleneck behind issue Myster-Tee#52.
-
Block NCZ decoding respects compressed block boundaries; block lookup, short reads, EOF handling, zero-length reads and disabled caching are corrected or covered by regression tests.
-
Online rename failures (including HTTP 503) fall back to the local NACP title when available.
-
Unrecognized additional key names are reported as localized informational notices; malformed key data remains a warning.
-
Prevented a double release of the LibHac
main.npdmfile while loading program-security information. -
Added a defensive size limit so malformed NPDM files fail safely instead of destabilizing file loading.
-
Snapshot NPDM security data inside the protected parser block so UI bindings cannot trigger delayed parser failures.
-
Batch preview errors no longer replace otherwise valid package and integrity results with
Unknown. -
Exception details and stack traces are now included in the application log for actionable diagnostics.
-
Fixed a crash when the program-security fields were displayed by explicitly using one-way WPF bindings for read-only values.
-
Batch integrity results now include the underlying NCA error and identify broken NSZ/NCZ Zstandard streams as corrupted or incomplete compressed data.
-
Batch integrity results and CSV exports now include the detected package structure.
Notes
-
ZstdSharp.Port remains at 0.8.8; compressed NACP titles remain supported.
-
Firmware references ship with the application and work offline. ZIPs repacked with different compression are valid if all NCA contents match. Local
/test/data is excluded from Git. -
Validation: solution build and 94 automated tests (including nine firmware tests). Real firmware archives were not used for these tests.
-
The firmware shown for
prod.keysis the newest content firmware supported by its keys. The exact firmware on which the file was dumped cannot be determined from the key file. -
title.keyscan be checked for valid structure, but title-key values cannot be compared against a universal list of expected values.