Releases: CreepNT/VitaLoader
0.3
Additions and changes:
- Markup TLS, exidx and extab regions
- Parsing of the
exidx
andextab
regions may be implemented in the future
- Parsing of the
- Markup library NID and package version for 0x1C-sized LibEnt
- Markup library NID and package version for 0x2C-sized LibStub (when applicable)
- Add support for 0x28-sized SceProcessParam
- Allows loading old userland binaries
- Add missing NONAME exports and use all official names
- All known NONAME exports are now implemented
QoL:
- Change the module namespace's name from
MODULENAME_module
to##MODULENAME
- Add extension version in published releases' description
- A custom unpublished batch script is used to generate the
extensions.properties
before building the extension
- A custom unpublished batch script is used to generate the
Bugfixes:
- Fix spurious
null\n\n
being added to some variable plate comments - Fix library NID missing from some variable plate comments
- Fix primary label sometimes being a default name, despite a known name being available
This release should allow loading any module from firmwares 0.902, 0.931, 0.940-0.945, 0.990-0.996 and 1.00-3.74.
Please report any incompatibility in the Issues.
0.2.7
0.2.6
- Fix the hotfix causing SceModuleInfo name to be parsed as garbage
- Thanks to the f#ck@ng idiot who made the API for BinaryReader so stupid
- Parse static probes more using a more accurate structure
- To ensure corectness in most cases, structure may be undersized in old firmware
- Change wording of static probes
0.2.5
0.2.4 Hotfix
Hotfix release: fix the bug caused by added SceModuleInfo checks.
See Release 0.2.4 changelog for info.
(The root cause of the bug is that new String(byte_array)
will put the NUL characters inside the string and Ghidra rejects that; byte_array.toString()
strips them properly. I didn't test an import after adding the code so it's my fault. Sorry for the inconvenience.)
0.2.4 - BUGGY, DO NOT USE
- Add support for core dump files (
ET_CORE
, for use with e.g. faps-coredump) - Fix (most) crash(es) when ELF file uses p_paddr for a purpose other than encoding offset to SceModuleInfo
- It is still possible for an ELF to crash if
p_paddr
is smaller thanp_filesz
, which should almost never happen in practice
- It is still possible for an ELF to crash if
- Add more sanity checks on SceModuleInfo to prevent trying to parse bad/malformed ELFs
- Fix
SceModuleInfo
structure being placed in the wrong namespace
From now on, builds for the latest Ghidra will be made available in addition to 10.1 and 10.1.2 builds.
THIS BUILD IS BROKEN - DO NOT USE.
0.2.3
- Add support for regular ELF files (ET_EXEC and ET_REL)
- Only PS Vita ELFs are supported! Loading non-Vita ELFs will not work - use the regular ELF loader instead.
- SceModuleInfo is now located the proper way - this should allow loading all modules that previously crashed or error'ed out
- Fix SceLibEntry structure type being created with the exported library's name instead
- Add support for 0x2C-sized SceProcessParam (used in 0.930 SDK)
- Fix symbol relocation hack that broke symbols on some apps (e.g. comicreader.self)
- Add some missing module attributes
- NONAME exports now go in "MODULENAME_module" namespace
- Disable markup of "entry" by ELF loader - no more duplicates
- Change name of SceLibEntry library name string to proper one
- Other miscellaneous name changes, typo fixes, etc
0.2.2
0.2.1
Fix loading of unstripped ELFs - symbols now get marked up properly!
Fix some bugs leading to weird crashes when importing unstripped ELFs
Fix invalid format string in GenericModuleImports resulting in variables not being named properly
Change some names to use the SDK module names
Put some variables (ProcessParam, ModuleInfo) in the proper namespace
0.2
- Add support for ET_SCE_PSP2RELEXEC (0xFFA5) files (0.931)
- Put data structures in module/library name namespaces to tidy up the Global namespace
- Markup exports with both database and default name if both are present to allow easier finding by search
- Markup syscall exports with a special comment
- Place imported functions in the proper namespace!
- Fix loading of unstripped SDK ELFs (i.e. files with section headers)
- Symbols don't get parsed properly for some reason
- Refactor structures to decouple from ProcessingContext even more
- Change SceModuleExports/SceModuleImports names to SceLibEntry/SceLibStubTable