balayette / saphIR-project

saphIR is an Intermediate Representation with amd64 and arm64 backends. Also included: a compiler, an arm64 lifter, an arm64 to amd64 dynamic binary translator, and a fuzzer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

saphIR project

saphIR is an Intermediate Representation with amd64 and aarch64 backends. This project contains both the IR code, and projects that use it.

Subprojects

See the subdirectories for more detailed descriptions.

  • saphIR/: The IR itself
  • compiler/: A compiler frontend that targets saphIR
  • lifter/: An ARM64 to saphIR lifter
  • dyn/: A dynamic binary translator
  • fuzz/: A fuzzer that uses dyn to JIT ARM64 binaries

Building

mkdir build && cd build
cmake .. # -D CMAKE_BUILD_TYPE=Debug or -D CMAKE_BUILD_TYPE=Release
make

About

saphIR is an Intermediate Representation with amd64 and arm64 backends. Also included: a compiler, an arm64 lifter, an arm64 to amd64 dynamic binary translator, and a fuzzer.

License:MIT License


Languages

Language:C++ 95.6%Language:Yacc 2.1%Language:CMake 1.7%Language:LLVM 0.6%Language:Hack 0.0%