Open source binary analysis tools.
Go to file
Iavor Diatchki 89529ed7e3 Be more lenient when interpreting bogus expressions.
Previously we were asserting that some bogus-y things don't happen.
Unfortunately, these expressions can occur in code that was not
directly written by the user (e.g., comparisons for setting various
machine flags).   To allow for that, we allow the expressions, but
give them undefined values.  So the proof will succeed only if it
does not depend on the values of these bogus comparisons.
2018-03-07 10:22:46 -08:00
base Merge branch 'master' of https://github.com/GaloisInc/macaw 2018-03-01 11:00:14 -08:00
scripts Remove script for building just these dependencies 2017-05-05 00:13:54 -07:00
symbolic Be more lenient when interpreting bogus expressions. 2018-03-07 10:22:46 -08:00
x86 Export elfAddrWidth 2018-02-28 09:26:10 -08:00
x86_symbolic Be more lenient when interpreting bogus expressions. 2018-03-07 10:22:46 -08:00
.gitignore Remove script for building just these dependencies 2017-05-05 00:13:54 -07:00
.gitmodules changed submodules to HTTPS origin to avoid authentication failure 2017-11-09 15:19:40 -08:00
.travis.yml Believe I am done with travis 2017-11-09 17:19:58 -08:00
LICENSE Add x86 specific code. 2017-09-27 15:54:43 -07:00
README.md Update READMEs. 2017-09-27 16:12:44 -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 -- A work-in-progress library that provides symbolic simulation of Macaw programs.
  • macaw-x86 -- Provides definitions enabling Macaw to be used on X86_64 programs.

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