Open source binary analysis tools.
Go to file
Tristan Ravitch d6060e51be x86: Fix a bug affecting imul (and add a test case)
We were hitting a translation error for imul in another application - this test
case is a reduced example demonstrating the problem.

The root cause was that there were a few missing cases for the new signed
immediate values from flexdis; this caused a fallthrough that mis-identified
signed immediates as non-immediates, triggering an error.
2018-10-24 10:23:51 -07:00
base Merge remote-tracking branch 'public/master' 2018-10-22 13:04:30 -07:00
deps Bump submodules 2018-09-17 15:41:34 -07:00
scripts Remove script for building just these dependencies 2017-05-05 00:13:54 -07:00
symbolic Merge remote-tracking branch 'public/master' 2018-10-22 13:04:30 -07:00
x86 x86: Fix a bug affecting imul (and add a test case) 2018-10-24 10:23:51 -07:00
x86_symbolic Add semantics for minss, maxss, minsp, and maxsp (x86) 2018-10-23 15:18:40 -07:00
.gitignore Remove script for building just these dependencies 2017-05-05 00:13:54 -07:00
.gitmodules Fix repo urls 2018-04-25 00:32:43 -07:00
.travis.yml Move macaw stack.yaml to root for similiarity with other Galois packages. 2018-04-24 09:05:36 -07:00
LICENSE Add x86 specific code. 2017-09-27 15:54:43 -07:00
README.md Update README.md 2018-06-15 10:47:27 -07:00
stack.ghc-8.2.2.yaml Update to refactor crucible simulator 2018-07-20 18:53:53 -07:00
stack.yaml Move macaw stack.yaml to root for similiarity with other Galois packages. 2018-04-24 09:05:36 -07:00

This is the main repository for the Macaw binary analysis framework. This framework is implemented to offer extensible support for architectures.

The main algorithm implemented so far is a code discovery procedure which will discover reachable code in the binary given one or more entry points such as _start or the current symbols.

The core libraries are:

  • macaw-base -- The core architecture-independent operations and algorithms.
  • macaw-symbolic -- Library that provides symbolic simulation of Macaw programs via Crucible.
  • macaw-x86 -- Provides definitions enabling Macaw to be used on X86_64 programs.
  • macaw-x86-symbolic -- Adds Macaw-symbolic extensions needed to support x86.

The libraries that make up Macaw are released under the BSD license.