hactool-1.2.0
Time for a new hactool release :)
Compilation is still annoying, so a pre-compiled build is provided for Windows users.
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
-NAX0
-NSO0 (New)
Keydata can be baked in at compile-time, or loaded from an external key file. See README.md and KEYS.md for details. In addition, a secure boot key + TSEC key + boot0 file pair can be passed in with an external key file to derive all keys it is possible to know given the information one has.
New Features:
-Support for reading plaintext Package2 files was added
-NPDM -> JSON conversion was added.
-KIP1 -> JSON conversion was added.
-Keygen can now be performed without passing a BOOT0 file.
-Support for newer XCIs with a logo partition was added.
-Support for pre-1.0.0 NCA0 files was added.
-Support for uncompressing NSO0 and KIP1 files was added via --uncompressed=
-Titlekeys can now be loaded from an external "title.keys" file, located in the same directory as prod.keys or dev.keys. Titlekeys should be stored in the format hexadecimal_rights_id = hexadecimal_title_key.
-Various [WARN]s were added when odd behavior is detected.
Bugs fixed:
-NAX0 decryption failed when reading at unaligned offsets.
-NCAs making use of AES-XTS crypto are no longer completely broken
-Support for pre-1.0.0 NCA2 files was fixed, and now works properly
-Getopt is no longer broken on arm-linux (thanks @jakibaki!)
-Too many small ones to count :)
Breaking changes:
-"encrypted_header_key" was changed in keyset loading to "header_key_source", in order to be consistent with other key names.