Open source binary analysis tools.
Go to file
Iavor Diatchki 4988297429 Change semantics for pointers!
When computing pointers we don't always check that the results are valid.
Instead, we do the check whenever we use the pointers.

The reason is to support code where pointers are temporarily "bad"
but are never used that way.  For example:


   subq $10, %aex   # aex contains a pointer
Loop:
   addq $10, %aex
   ...
2018-03-16 16:14:25 -07:00
base Discovery: pretty instance for DiscoveryFunInfo now prints function address 2018-03-14 17:32:29 -07:00
scripts Remove script for building just these dependencies 2017-05-05 00:13:54 -07:00
symbolic Change semantics for pointers! 2018-03-16 16:14:25 -07:00
x86 Add implementation for vpsllq 2018-03-15 09:49:03 -07:00
x86_symbolic Haddock comments fixes, thanks to Brian 2018-03-09 09:51:55 -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.