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.
- Allow SHA to calculate sizes > 16MB and refactor sha function
- Name various registers and magic numbers
- Fix various key access bugs
In a later commit this new design will boost verification times significantly and also allow full SHA256 hashes.
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.
[Stock]
fss0={sd path}
stock=1
Can now work for both older and new HOS versions.
- <= 6.2.0 loads nothing and removes kernel patching.
- >= 7.0.0 loads exo, wb and removes kernel patching.
This requires that fss0 {sd path} is valid. Otherwise it will fail on ini cfg parsing.
If <= 6.2.0 and no FSS0
[Stock]
stock=1
will provide a cleaner stock with no kernel patching.
Using "fss0={sd path}" allows you to parse kips, exosphere and warmboot from a fusee secondary binary.
Exosphere and warmboot are overridable if these entries are defined after that.
Additionally any extra kip can be loaded as before via
kip1={sd path}/* for many
or
kip1={sd path} for a sigle one
Warning: Don't double load core kips like loader, pm, sm and ams_mitm. The result will be a hang.
- Make debugmode for exosphere mandatory
- Support dev RSA modulus for warmboot
- Fix a critical bug where it allowed free() to be used on a non-heap address.
- Better the makefile
- Still compatible with old hekate.
- Allows for hotfix control
- Sept is now copied from actual running payload, negating the need to check update.bin
- If a foreign payload is found in sept then it is renamed and hekate copies itself. After sept run, it renames it back and continues with boot.