saphIR-project icon indicating copy to clipboard operation
saphIR-project copied to clipboard

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.

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