Despite being able to analyze and translate real software, is still in alpha stage: failure, crashes and infinite loops are expected.

Depending on the way you intend to use, there are several download options:

Source code
Obtain the source code and build from scratch. Ideal if you're willing to understand how it works, and maybe contribute to the project.
Binary tarball
We provide an archive containing everything is necessary to run for Linux x86-64.
Docker image
The click and play option.

Source code

To handle's dependencies we use a meta-repository, known as orchestra. Just clone it and follow the instructions in the file.

Go to orchestra

Note: this might take up to 18 GiB of space and quite some time.

Binary tarball

This download option contains everything you need to get started in a single archive.

tar xavf orchestra.tar.gz
cd orchestra/



As simple as:

docker pull revng/revng-minimal
docker run -ti revng/revng-minimal

If everything is fine, you're ready to compile and translate your first program:

$ source environment
$ cat > hello.c <<EOF
#include <stdio.h>

int main(int argc, char *argv[]) {
  printf("Hello, world!\n");
$ armv7a-hardfloat-linux-uclibceabi-gcc -static hello.c -o hello.arm
$ mips-unknown-linux-musl-gcc -static hello.c -o hello.mips
$ x86_64-gentoo-linux-musl-gcc -static hello.c -o hello.x86-64 -msoft-float -mfpmath=387 -mlong-double-64 -lc root/lib/linux/libclang_rt.builtins-x86_64.a
$ translate hello.arm
$ translate hello.mips
$ translate hello.x86-64
$ ./hello.arm.translated
Hello, world!
$ ./hello.mips.translated
Hello, world!
$ ./hello.x86-64.translated
Hello, world!

Something not working as expected? Checkout the known limitations or write us at .

Why don't you subscribe to our newsletter? Srls - P. IVA: IT02776470359 - Via San Martino 23 - 42121 - Reggio Emilia, Italy -
Twitter - GitHub - Privacy policy
This website doesn't use JavaScript, cookies and it's fully statically generated (inspiration).