- 13.0.0 master key support
- Derive proper keys per mkey revision instead of the latest for Erista devices
This allows to identify issues with Pkg1/Pkg2 mismatch and also allows using old Exosphere/Atmosphere versions.
- Simplify pkg2 decryption because of proper keys
7.0.0 is still done via 8.1.0 mkey because of an Exosphere bug.
- Add nogc patches
- remove any reference to sept and parsing of it
- completely refactor and simplify keygen
- use new Atmo tsec keygen for 7.0.0 and up
- simplify all info/tools that depend on hos keygen and bis keys
gcc 10 no longer lets you get away with not externing global variables in header files. This adds the necessary extern and adds defines in appropriate c files
Allows more kip names to be added. To use it on them you will need to dump the kips via the Dump pkg1/2 function and then sha256 to get the hash.
The name must be used as is, otherwise the name compare will fail.
Because of that, also allow unordered parsing and gluing.
Allow the patch loop to end via empty source data as per original spec and error out on 0 length if source data is not null.
emuMMC force decompression patch safely avoids that.
Remove patches_template.ini load.
- It has useless patches, which some times, users confuse them for "bad" patches, even though they aren't.
- No one reads on how it works and it's constantly mishandled when there's no patches.ini (which completely overrides it).
- It was not supposed to be edited.
Also release will not include it anymore.
Template will still exist for demonstrating the syntax of `patches.ini`
This commit also corrects the patches.ini encoding note as ASCII.
The format is described in patches.ini.
For now it only supports the kips defined in hekate's code.
Next versions will add support for defining other kips.