macaw/README.md
Nathan Collins aa87eb9a45 Delete top-level stack.yaml symlink
To avoid conflicting stack.yaml files when crucible is used a
submodule in another repo with a top level stack.yaml.

Also, update the README to include creating a stack.yaml symlink
before building with stack the first time.
2018-10-30 16:12:16 -07:00

961 B

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.

To build with Stack, first create a top-level stack.yaml file by symlinking to one of the provided stack-ghc-<version>.yaml files. E.g.

ln -s stack-ghc-8.2.yaml stack.yaml
stack build