googleprojectzero / reil

Licence: Apache-2.0 License
No description, website, or topics provided.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language

REIL

A c++ translation/emulation library for the aarch64 instruction set to REIL.

This is not an officially supported Google product.

Building

Cmake has been used in an attempt to make downloading and building dependencies painless, but this has had the unfortunate side-effect of making the whole process more complicated than it really needs to be. Sorry.

If you have the necessary dependencies, it should be straightforward to just build the source yourself if you don't like cmake. Apart from Unicorn, the other dependencies are all header-only libraries, and Unicorn is only required to build the tests.

For a normal (cmake) build

git clone https://github.com/google/reil
mkdir reil-build
cd reil-build
cmake -G Ninja ../reil
ninja

Running the tests

  1. This translation library has a reasonable selection of unit tests to verify the translation against unicorn/qemu. To run the tests for the aarch64 translator, you can use the following commands:
./reil-prefix/src/reil-build/aarch64_test

Usage

See the code in reil/test for examples of how to use the translator, and the implementation in reil/interpreter.cpp for the intended semantics of the translated IL instructions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].