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

Capstone 5 development and updates (release-candidate) #1701

Merged
merged 21 commits into from
May 18, 2022
Merged

Conversation

ekilmer
Copy link
Contributor

@ekilmer ekilmer commented May 8, 2020

While capstone 5 isn't released yet, I thought I'd get a head start on trying to fix what would be broken when it is released.

Our tests brought to light a few issues/regressions in the next branch of Capstone:

More things to do:

  • Check all missed coverage in the native CPU implementations to determine whether they were workarounds that can be removed or we should write more tests

  • This shouldn't be merged until either Capstone 5 is released or we decide to merge with a git revision for capstone (would require building capstone from source during install of Manticore). Edit: Release-candidate versions have been published!

@ekilmer ekilmer force-pushed the capstone-5-dev branch 2 times, most recently from 97c09c7 to 8ad4882 Compare May 8, 2020 22:23
@ehennenfent ehennenfent linked an issue Jun 22, 2020 that may be closed by this pull request
feliam and others added 6 commits July 9, 2020 16:10
* master:
  Change the default to threading (#1779)
  Coveralls Take 2 (#1784)
  Capture return values in run.sh (#1776)
  Create a model for strncpy (#1770)
  Add doc, fix output bugs (#1769)
* master:
  Linux: Add stat method for FdLike (#1780)
  Use default handler for symbolic system call arguments (#1785)
@ekilmer ekilmer added this to In progress in CHESS via automation Sep 24, 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)
* master:
  native/cpu/x86: Add support for CPUID EAX=80000000h (#1811)
* master: (35 commits)
  Track last_pc in StateDescriptors (#2471)
  Expose Result Register for Native CPU (#2470)
  Install pinned version of truffle to fix CI (#2467)
  Use fixed owner and attacker accounts in multi_tx_analysis (#2464)
  Manticore 0.3.6 (#2456)
  Fix IntrospectionAPIPlugin Name (#2459)
  Portfolio of parallel solvers (#2420)
  Replace Quick mode with Thorough mode (#2457)
  Fix incorrect comparison for symbolic file wildcards (#2454)
  Reduce the number of calls to the SMT solver in EVM (#2411)
  Fixes to Unicorn emulation - start/stop/resume (#1796)
  Add support for multiple compilation units (#2444)
  Basic solver stats (#2415)
  Fix the generation of EVM tests (#2426)
  Disabled EVM events in testcases by default (#2417)
  added proper timeouts for cvc4 and boolector (#2418)
  Removed use of global solver from Native Memory (#2414)
  Support to use boolector as the SMT solver (#2410)
  Update CI and suggest to use pip3 instead of pip (#2409)
  Expressions use keyword-only arguments for init (#2395)
  ...
* master: (35 commits)
  Switch to stable Black (#2536)
  Fix typo in Manticore.linux constructor docstring (#2535)
  Revert CI changes made in #2526
  Release Manticore 0.3.7 (#2526)
  Optimise forking when there is only 1 solution (#2527)
  Epoll Implementation (#2529)
  Split off ENDBR32/64 from CHESS branch (#2533)
  Update to crytic-compile 0.2.2 (#2530)
  Also ignore missing unicorn registers in the fallback emulator (#2531)
  x86 FXSAVE & FXRSTOR support (#2511)
  Fix `BitVecExtract` simplification for constant folding (#2524)
  Add pip-audit action workflow (#2513)
  Add EXPLICIT fork policy (#2514)
  Enforce crytic-compile==0.2.1 (#2512)
  Improve namedtuple definition (#2506)
  Add SMT simplifications for bitvec subtraction (#2504)
  Fix handling of the program base address in Linux (#2500)
  Bump Sphinx version to 4.3.0 (#2503)
  Solver Improvements (#2502)
  Improves `namedtuple` definition (#2501)
  ...
* master:
  Add syscall implementation for `sys_newfstatat` (#2545)
  Fix newstat and newfstat (#2544)
@ekilmer ekilmer marked this pull request as ready for review May 16, 2022 18:39
@ekilmer ekilmer changed the title Capstone 5 development and updates Capstone 5 development and updates (release-candidate) May 16, 2022
Copy link
Contributor

@Boyan-MILANOV Boyan-MILANOV left a comment

Choose a reason for hiding this comment

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

LGTM! I believe the workarounds for cmeq and  addw allow to check the boxes in the PR description?

tests/other/test_smtlibv2.py Outdated Show resolved Hide resolved
Co-authored-by: Boyan MILANOV <boyan.milanov@trailofbits.com>
@ekilmer ekilmer merged commit 9e11bc9 into master May 18, 2022
CHESS automation moved this from In progress to Done May 18, 2022
@ekilmer ekilmer deleted the capstone-5-dev branch May 18, 2022 14:31
ekilmer added a commit that referenced this pull request May 23, 2022
* master:
  Capstone 5 updates (5.0.0rc2) (#1701)
  Add syscall implementation for `sys_newfstatat` (#2545)
  Fix newstat and newfstat (#2544)
ekilmer added a commit that referenced this pull request May 23, 2022
* chess:
  Capstone 5 updates (5.0.0rc2) (#1701)
  Add syscall implementation for `sys_newfstatat` (#2545)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
CHESS
Done
Development

Successfully merging this pull request may close these issues.

Support Capstone 5 Changes
3 participants