Import claripy through the angr package - #158
Open
twizmwazin wants to merge 6 commits into
Open
Conversation
claripy is no longer importable as a top-level module: it is built into angr.rustylib and exposed as angr.claripy (see angr/angr#6550). Rewrite every `import claripy` / `from claripy...` to `from angr import claripy` / `from angr.claripy...`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 8, 2026
Member
|
Corpus decompilation diffs can be found at angr/dec-snapshots@master...angr/angrop_158 |
Follow-up to the import rewrite for angr/angr#6550, replacing claripy APIs that clarirs does not provide: - claripy.algorithm.replace(...) -> claripy.replace(...) (same kwargs) - Base.children_asts() -> a local rop_utils.children_asts(ast) helper (clarirs ASTs expose only immediate .args) - claripy.errors.ClaripyZ3Error -> claripy.errors.ClaripyError in the gadget-analysis except clauses (clarirs has no Z3-specific error) - guard make_initial_state against stack_gsize == 0: clarirs rejects claripy.Concat() with an empty operand list, which claripy tolerated Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 8, 2026
save_gadgets opened the cache path for writing without ensuring its parent directory exists, so saving to a cache dir that was removed (e.g. the stale gadget caches deleted for the claripy migration) raised FileNotFoundError. Create the directory first. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Collaborator
|
we are merging claripy to angr? 👀 |
Member
|
No. We will have clarirs instead. |
Member
|
I think the answer to Kyle's question is, strictly speaking, "yes". The reason for this is that claripy is being rewritten in rust (clarirs) and since rust does static linking, if we want the angr rust code to be able to take advantage of the rust claripy code in the angr rust code so these need to be the same shared object. |
Collaborator
|
I see. I like the idea of rewriting claripy in rust. So it'd be super fast with fewer crashes (hopefully) |
twizmwazin
force-pushed
the
migrate/angr-claripy-import
branch
from
July 14, 2026 16:38
bbcec3f to
47e4363
Compare
This was referenced Jul 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Depends on angr/angr#6550, which merges claripy (clarirs) into the angr package: claripy is no longer importable as a standalone top-level module — it lives at
angr.rustylib.claripyand is exposed asangr.claripy.This PR rewrites every
import claripytofrom angr import claripyso angrop keeps working with that change (11 files, mechanical; the bound name staysclaripyso no call sites change).Linked PRs (for angr CI cross-checkout):