GaloisInc / pate

Patches Assured up to Trace Equivalence
Other
15 stars 2 forks source link

Add plausible heuristics for PPC32 PLT stubs #349

Closed RyanGlScott closed 10 months ago

RyanGlScott commented 10 months ago

Previously, PATE had no PLT stub-finding heuristics for PPC32, which meant that PATE would crash whenever it tried to execute code that invokes a PLT stub. While it is difficult in general to predict what the layout of a .plt section will be on an arbitrary PPC32 binary, we can at least give PATE some plausible heuristics that were derived from the target1-self binary.

Previously, the code in Pate.Discovery.PLT hard-coded heuristics that were specific to AArch32, so this patch needed to cargo-cult some code from https://github.com/GaloisInc/macaw/pull/320 in order to appropriately generalize the code to other architectures.