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

State Introspection API #1775

Merged
merged 79 commits into from Sep 9, 2020
Merged

State Introspection API #1775

merged 79 commits into from Sep 9, 2020

Conversation

ehennenfent
Copy link
Contributor

@ehennenfent ehennenfent commented Jul 16, 2020

Adds an API to query Manticore's state lists. Closes #1736

TODO:

@ehennenfent ehennenfent added the ux label Jul 16, 2020
@ehennenfent ehennenfent self-assigned this Jul 16, 2020
Eric Hennenfent and others added 16 commits July 16, 2020 17:45
Make warning messages better

Debug GH actions

Revert "Debug GH actions"

This reverts commit f575eea.

Fix some pycharm-detected problems

Make symbolic function error message more verbose

Add solve to published events

Loud errors in callbacks by default

Trying to find out what's killing truffle

Revert "Trying to find out what's killing truffle"

This reverts commit 8bd0224.

Revert "Make symbolic function error message more verbose"

This reverts commit bd3e90c.

Debugging Truffle

Restore introspector

Add try_except on every callback

Unconditionally print error message

Add traceback

Update event.py

Debug subscriptions

Debug arguments to callbacks

Different debug msg

1ast arg

Print statement debugging...

Pass in `None` as state

Revert "Add try_except on every callback"

This reverts commit 1c689dd.
Forgot did_solve

Remove traceback
@ehennenfent
Copy link
Contributor Author

I think this is ready to go. I updated from master so we no longer need to keep _introspector on the Manticore object - instead, we store it in the plugin dict. I also updated the EVM update function to capture the current contract address and PC as Felipe mentioned. Merge is just pending an approving review!

@ehennenfent ehennenfent added this to the Manticore 0.3.5 milestone Sep 3, 2020
Copy link
Contributor

@ekilmer ekilmer left a comment

Choose a reason for hiding this comment

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

LGTM

@ehennenfent ehennenfent merged commit f46f78b into master Sep 9, 2020
@ehennenfent ehennenfent deleted the dev-introspection-api branch September 9, 2020 15:32
ekilmer added a commit that referenced this pull request Sep 28, 2020
* master:
  Change types.FunctionType=<class 'function'> (#1803)
  Fix test regressions (#1804)
  State Introspection API (#1775)
  Fix EVM account existence checks for selfdestruct and call (#1801)
  Add partial implementation of sendto syscall (#1791)
  crytic-compile: use latest release (#1795)
  Update gas metering for calls to empty accounts (#1774)
  Fix BitVec with symbolic offset and fix TranslatorSmtlib.unique thread safety (#1792)
  Fix Coveralls for external PRs (#1794)
  Convert plugin list to dict (#1781)
  Symbolic-length reads from symbolic sockets (#1786)
  Removing Thread unsafe global caching (#1788)
  Add Manticore native State-specific hooks (#1777)
@ehennenfent ehennenfent mentioned this pull request Oct 6, 2020
ekilmer added a commit that referenced this pull request Feb 27, 2021
* master: (43 commits)
  Syscall specific hooks (#2389)
  TUI Support Infrastructure (#1620)
  Fix coveralls upload (#2387)
  docs: fix simple typo, straigth -> straight (#2381)
  Attempt to allow symbolic balances from the start (#1818)
  Fix state.cpu.PC member (#1825)
  Bump black and mypy (#1824)
  Manticore 0.3.5 (#1808)
  Fix yices timeout argument (#1817)
  Detect default solver (#1820)
  Ignore Gas Calculations by Default (#1816)
  native/cpu/x86: Add support for CPUID EAX=80000000h (#1811)
  Change types.FunctionType=<class 'function'> (#1803)
  Fix test regressions (#1804)
  State Introspection API (#1775)
  Fix EVM account existence checks for selfdestruct and call (#1801)
  Add partial implementation of sendto syscall (#1791)
  crytic-compile: use latest release (#1795)
  Update gas metering for calls to empty accounts (#1774)
  Fix BitVec with symbolic offset and fix TranslatorSmtlib.unique thread safety (#1792)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

State Introspection API
4 participants