Open source binary analysis tools.
Go to file
Tristan Ravitch 2524b77cb5 base: Change the type of the address in the ArchState statement
ArchMemAddr is easier to use than ArchAddrWord in downstream clients, and is
probably more faithful in the case where we want to support shared libraries
and/or object files.
2018-03-30 10:33:49 -07:00
base base: Change the type of the address in the ArchState statement 2018-03-30 10:33:49 -07:00
scripts Remove script for building just these dependencies 2017-05-05 00:13:54 -07:00
symbolic Add a new macaw statement to record updates to machine registers 2018-03-29 09:53:08 -07:00
x86 Bump elf-edit 2018-03-29 16:40:26 -07:00
x86_symbolic Merge branch 'master' of github.com:GaloisInc/macaw 2018-03-29 16:30:29 -07: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.