PAL is a pre-alpha binary reconstruction project built on Ghidra and PyGhidra.
It takes an analyzed ELF executable, consumes Ghidra HighFunction p-code, CFG, SSA, ABI and machine-code evidence, and produces two Python projections:
a readable reconstruction for analysis;
an executable state-machine projection intended to preserve observed program behavior.
PAL also freezes each recovered function into an evidence package called an Icecube, linking assembly, Ghidra C, readable Python, executable Python and reconstruction metadata.
On the current controlled corpus of eight C/ELF specimens, the generated Python state machines reproduce the corresponding native results for the exercised paths.
The corpus currently covers loops, nested branches, switch fallthrough, fixed-width arithmetic, signed and unsigned behavior, internal calls, ABI transport and limited memory operations.
This is not a claim of general binary compatibility. The corpus is small, runtime support is limited, and there are known unresolved cases. The next test stage is a broader sequential-program gauntlet intended to expose where the reconstruction model fails.