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

z3.Array support #171

Open
bannsec opened this issue Apr 18, 2020 · 2 comments
Open

z3.Array support #171

bannsec opened this issue Apr 18, 2020 · 2 comments

Comments

@bannsec
Copy link

bannsec commented Apr 18, 2020

When dealing with very large table lookups, z3.Array is a huge improvement in performance. It would be great if symbolic memory read strategy could be updated to use it, but even simply having the ability to use those primitives with claripy objects (for instance, inside custom user hooks) would be quite beneficial.

Information on Arrays can be found here: https://rise4fun.com/z3/tutorialcontent/guide

Mainly, it comes down to stuff like

table = z3.Array(<args>)
table = z3.Store(table, 0, 1)
#etc

# Lookup becomes
table[sym_var] 
@rhelmot
Copy link
Member

rhelmot commented Apr 19, 2020

iirc there isn't a good z3 theory that we can use which combines bitvector arithmetic and arrays, which makes this highly problematic to integrate into symbolic execution. I agree it would be nice to have in claripy, though. Unfortunately, there isn't really any manpower available for such a project at the moment. If anyone wanted to take this issue, they would probably want to model it after the relevant parts of the PR which added string support.

@github-actions
Copy link
Contributor

This issue has been marked as stale because it has no recent activity. Please comment or add the pinned tag to prevent this issue from being closed.

@github-actions github-actions bot added the stale label May 20, 2022
@rhelmot rhelmot added pinned and removed stale labels May 24, 2022
@twizmwazin twizmwazin removed the pinned label Nov 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants