Open source binary analysis tools.
Go to file
2019-02-18 11:42:24 -08:00
base Update to fix build process. 2019-02-15 00:28:35 -08:00
deps Merge branch 'master' of github.com:GaloisInc/macaw 2019-02-15 08:31:41 -08:00
doc Documentation updates 2018-05-21 17:53:01 -07:00
macaw-arm [macaw-arm] Add test semigroup import for GHC 8.2. 2018-12-14 15:54:20 -08:00
macaw-ppc NatRepr changes 2019-02-13 14:21:48 -08:00
macaw-ppc-symbolic Added ArchInfo lookupReg and updateReg for PPC. 2019-02-08 17:28:43 -08:00
macaw-semmc NatRepr changes 2019-02-13 14:21:48 -08:00
refinement [refinement] Disabled PPC switching test. 2019-02-08 17:32:21 -08:00
scripts Fix graphmod script 2018-11-12 09:42:06 -05:00
submodules Eliminate duplication in submodules. 2019-02-18 11:42:24 -08:00
symbolic CrucGen: Support for jump tables 2019-02-15 18:35:25 -08:00
x86 Support ZMM, bitcasting, and fixed length vectors. 2019-02-14 11:06:45 -08:00
x86_symbolic Update to fix build process. 2019-02-15 00:28:35 -08:00
.gitignore Merge ../macaw-semmc 2019-02-18 09:44:31 -08:00
.gitmodules Eliminate duplication in submodules. 2019-02-18 11:42:24 -08:00
.travis.yml Add GHC 8.6.3 stack and switch travis to use it. 2019-02-15 00:42:53 -08:00
cabal.project.dist Add macaw-ppc-symbolic to cabal.project 2018-11-27 13:57:20 -08:00
LICENSE Add x86 specific code. 2017-09-27 15:54:43 -07:00
README.md Delete top-level stack.yaml symlink 2018-10-30 16:12:16 -07:00
README.org Move stack.yaml to stack-ghc-8.2.yaml 2018-10-30 16:16:16 -07:00
stack-ghc-8.2.yaml Move stack.yaml to stack-ghc-8.2.yaml 2018-10-30 16:16:16 -07:00
stack.ghc-8.2.2.yaml Update to fix build process. 2019-02-15 00:28:35 -08:00
stack.ghc-8.6.3.yaml Add GHC 8.6.3 stack and switch travis to use it. 2019-02-15 00:42:53 -08: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.

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