Skip to content

Releases: SciresM/hactool

hactool-1.4.0

02 Jun 00:16
Compare
Choose a tag to compare

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

06 Apr 02:08
Compare
Choose a tag to compare

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

18 Mar 18:07
Compare
Choose a tag to compare

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

21 Feb 22:02
Compare
Choose a tag to compare

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

15 Jan 18:43
Compare
Choose a tag to compare

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

24 Nov 09:05
Compare
Choose a tag to compare

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

03 Nov 18:19
499f06e
Compare
Choose a tag to compare

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

24 Jul 07:37
84715a8
Compare
Choose a tag to compare

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

28 Apr 01:59
Compare
Choose a tag to compare

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

07 Feb 19:40
Compare
Choose a tag to compare

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