Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add plausible heuristics for PPC32 PLT stubs #349

Merged
merged 5 commits into from
Nov 15, 2023

Conversation

RyanGlScott
Copy link
Contributor

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 GaloisInc/macaw#320 in order to appropriately generalize the code to other architectures.

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
GaloisInc/macaw#320 in order to appropriately
generalize the code to other architectures.
@danmatichuk danmatichuk merged commit 6aa9b12 into GaloisInc:master Nov 15, 2023
1 check passed
@RyanGlScott RyanGlScott deleted the ppc-plt-stubs branch November 15, 2023 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants