KeybadeBlox
ccd2cd37a5
Defend against spurious references during mangling
...
Ghidra sometimes identifies random numbers as pointers, which trips up
our mangler script when it encounters them as they generally have no
type information. We now use heuristics to ignore such references.
2026-02-13 23:43:35 -05:00
KeybadeBlox
d372c17094
Miscellaneous name mangling improvements
...
Improved error reporting, skipping undesirable symbols like jump tables,
skipping special symbols like intrinsics, etc.
2026-02-12 21:15:52 -05:00
KeybadeBlox
78127e64ef
Arguments via environment variables in delink.sh
...
It was really annoying having to type all that in every time.
2026-02-12 16:16:07 -05:00
KeybadeBlox
05b4da2f78
Mangle referenced symbols in mangling script
...
This produces correct symbol names in disassembly in objdiff.
2026-02-12 00:36:40 -05:00
KeybadeBlox
0e84f9ab1f
Refine for virtual method check in mangling script
...
We used the flimsy heuristic of a reference from non-executable memory
to try to guess at whether a reference was a vtable, but now we just
check whether it's been named as a vtable.
2026-02-11 21:14:46 -05:00
KeybadeBlox
53b0e82417
Include headless demangling in delink.sh
...
This means we get delinked objects with proper mangled names matching
our recompiled files.
2026-02-11 20:23:26 -05:00
KeybadeBlox
55046bf009
Better handle undefined types in mangling script
2026-02-11 20:17:22 -05:00
KeybadeBlox
e9b0c3c6bc
Complete mangler script
...
Now to hook it up to the delinker script.
(I totally accidentally said "demangling" in the last commit)
2026-02-11 00:46:33 -05:00
KeybadeBlox
febf9fc172
Finish function demangling
...
Data demangling should be much easier.
2026-02-10 00:06:29 -05:00
KeybadeBlox
576a60d331
Mostly finish function name mangling
...
Still need to do function pointers.
2026-02-07 22:08:02 -05:00
KeybadeBlox
76e39fdd27
Begin Ghidra mangling script
...
Looks like we'll be writing our own Ghidra scripts. At least these
should enable pretty thorough sharing of work and decent UX.
2026-02-05 22:31:36 -05:00
KeybadeBlox
35c8844529
Move everything else to ghidra/ directory
...
The only stuff left in delink/ was also for using with Ghidra, so we may
as well also put it in ghidra/.
2026-02-04 20:01:06 -05:00
KeybadeBlox
63002e0f08
Add data type import for Ghidra
2026-02-04 19:52:12 -05:00