Releases: SciresM/hactool
hactool-1.4.0
Time for a new hactool release :)
Compilation is still annoying, so a pre-compiled build is provided for Windows users.
Since the last release, the following was changed:
-Support was fixed for parsing save files (thanks @shchmue)!
-Support was fixed for extracting package1 binaries newer than 4.0.0.
-Support was added for performing mariko-specific key derivation.
-Support was added for decrypting and extracting mariko package1 binaries.
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
-NAX0
-NSO0
-Save files
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.
hactool-1.3.3
Time for a new hactool release :)
Compilation is still annoying, so a pre-compiled build is provided for Windows users.
Since the last release, the following was changed:
-Support was added for parsing Chinese game cards, which use a new hashing algorithm to validate HFS0 partitions.
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
-NAX0
-NSO0
-Save files
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.
hactool-1.3.2
Time for a new hactool release :)
Compilation is still annoying, so a pre-compiled build is provided for Windows users.
Since the last release, the following was changed:
-Support was added for validating new NCA header fixed-keys (9.x+)
-Romfs is now parsed via an iterative loop instead of recursion to prevent possible stack exhaustion.
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
-NAX0
-NSO0
-Save files
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.
hactool-1.3.1
Time for a new hactool release :)
Compilation is still annoying, so a pre-compiled build is provided for Windows users.
Since the last release, the following was changed:
-Output was fixed for displaying certain SDK versions.
-Support was added for validating new ACID keys (9.x+)
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
-NAX0
-NSO0
-Save files
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.
hactool-1.3.0
Time for a new hactool release :)
Compilation is still annoying, so a pre-compiled build is provided for Windows users.
Since the last release, the following was changed:
-Support was fixed for new (8.0.0+) key generation.
-Support was added for extracting 8.0.0+ Package2 binaries.
-SVC and key generation names were updated to latest definitions.
-Support was added for parsing and extracting save files (thanks @shchmue!)
-Support was added for decrypting and parsing the encrypted XCI header area (thanks @jakcron!).
-NPDM output was corrected when parsing the version field.
-Support was added for suppressing output of sensitive/decrypted keys.
-Support was added for only extracting NCAs if the content type is one specified.
-Support was added for automatically appending the NCA section type to extracted section content paths if an option is specified.
-Key derivation was fixed when deriving master keks from keyblobs.
-title.keys content restrictions were made looser (non-key lines are now allowed).
-Support was added for skipping output of invalid key warnings.
-A bug was fixed that caused PFS0 file entry calculations to fail.
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
-NAX0
-NSO0
-Save files
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.
hactool-1.2.2
Time for a new hactool release :)
Compilation is still annoying, so a pre-compiled build is provided for Windows users.
Since the last release, the following bugs were fixed:
-Support was added for 6.2.0+ new key derivation using tsec_root_key
and master_kek_source_##
.
-6.2.0 keydata will no longer be called "Unknown".
-A bug was fixed involving argument violation to mbed_tls aes routines.
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
-NAX0
-NSO0
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.
hactool-1.2.1
Time for a new hactool release :)
Compilation is still annoying, so a pre-compiled build is provided for Windows users.
Since the last release, the following bugs were fixed:
-Update extraction support should no longer cause errors.
-NPDM JSON output has been switched over to the new format.
-6.x keydata will no longer be called "Unknown".
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
-NAX0
-NSO0
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.
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.
hactool-1.1.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 (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:
-Added support for NAX0 (Nintendo Aes Xts File(system), SD Card content)
-Added support for key derivation using EKS (keyblobs) and sbk/tsec key
-Support was added for pre-1.0.0 "NCA2" content.
Bugs fixed:
-BKTR did not support the non-single bucket case, affecting games with huge patches (Splatoon 2, maybe others)
-Too many small ones to count :)
hactool-1.0.1
This is the first feature-complete release of hactool, with some bugfixes.
The following Switch file formats are supported:
-NCA
-XCI
-HFS0
-PFS0
-RomFS
-NPDM
-Package1 (PK11)
-Package2 (PK21)
-INI1
-KIP1
Keydata can be baked in at compile-time, or loaded from an external key file. See README.md and KEYS.md for details.
Bugs fixed:
-Memory corruption when parsing some NPDMs
-Invalid AES mode used for titlekey decryption
-BKTR section validity unchecked before accessing decrypted data
-Edge case in BKTR subsection layout would cause infinite recursion