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

pycbat MVP #382

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open

pycbat MVP #382

wants to merge 9 commits into from

Conversation

philzook58
Copy link
Contributor

@philzook58 philzook58 commented Feb 24, 2023

The idea is to make cbat easier to use. A minimal (but still kind of beefy. 80mb compressed. 300mb uncompressed) docker build is now up and this python is a wrapper to download and run it.

Todo:

  • Fill out and forward more command line options
  • Eventually upload this to pip for pip install cbat
  • Property construction helpers / connection to Highvars. C type interpretations. Signature importing. Suggest using angr.
  • Countermodel exploration, visualization, and interpretation to highvars. Perhaps run in angr symbolic executor
  • Port tutorial to jupyter notebook hostable on Google colab links

@philzook58 philzook58 marked this pull request as ready for review February 28, 2023 20:41
@philzook58 philzook58 changed the title pycbat pycbat MVP Feb 28, 2023
rax = z3.BitVec("RAX", 64)
postcond = rax == 4
# Check that rax is always 4 at end of function "fact" in binary file myfactorial.o
cbat.run_wp("./myfactorial.o", func="fact", postcond=postcond)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we include more documentation about the arguments supported by run_wp?

@@ -0,0 +1,3 @@
z3
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we version lock these?

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