Add delayed config loading to allow config to be reloaded from
module_start. The main use-case here is if a kernel module defined in
*KERNEL wishes to refresh the config. Previously there will be a use-after-free as it tries to free the old config while it is still being parsed. Now that's been fixed and it supports re-loading the config (delayed) after the first parse is complete.
Hold L at start of an application to skip loading user plugins. This also means that if you have Ensō and hold L at boot, you should skip loading of SceShell plugins as well.
Added recovery option to skip loading all plugins (kernel and user) by holding L1. If using HENkaku from the web or with the offline installer, hold L1 after the bootstrap installer starts up. If using Ensō, hold L1 and power on the Vita. You can still reuse plugins by calling
taiReloadConfig even if you started taiHEN without plugin loading.
- Fixed a memory leak where a reference was not decremented
- Mitigation for a SCE bug that limits the number of plugins that can be loaded per application
- API Change: When
TAI_MAIN_MODULEis used, the first loaded module will always be returned. This should be transparent to most plugins except the main change is that you can use
TAI_MAIN_MODULEfor SceShell now.
- Module is now compressed
- API change:
TAI_MAIN_MODULEcan be passed as a parameter to functions that take a module name. This will resolve to the default main module (aka the eboot.bin of the loaded application).
- Add new developer exports
module_get_import_funcfor advanced users. Headers not provided because these functions are not recommended for normal users.
- Integrated latest version of substitute with bug fixes for certain types of function hooks.
- Implemented clean-up of user hooks on process termination
- Added more APIs for kernel module loading and process module loading
- Fixed bug where stack size was too small in syscall leading to crash when hooking or unhooking (seen by suprx loading skprx)
- Added checks to prevent hooking of unresolved weak imports (see docs for details on how to hook weak imports)
- Fixed bug in assembling the outro for BL instructions (can be seen by crash when hooking
- Fixed bug where
taiGetModuleInfodoes not retrieve all modules.
- Fixed bug where kernel module stopping crashes
- NID poisoning disabled, allows for user hooks of imports
- Configuration parsing/loading
- Fixed race condition in
- Fixed bug in
taiLoadKernelModuleand related function (#4)