mirror of
https://github.com/GaloisInc/macaw.git
synced 2024-12-28 08:34:23 +03:00
Open source binary analysis tools.
64a1c01a7b
GHC was leaving `boundValue` in its higher-order form, which was causing slowdowns accounting for ~3% of runtime in Brittle. |
||
---|---|---|
base | ||
deps | ||
scripts | ||
symbolic | ||
x86 | ||
x86_symbolic | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
stack.ghc-8.2.2.yaml |
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