This page provides an overview of all the open-source projects that we maintain.
- A meta-repository that takes care of building or installing binary packages for all the dependencies of all the rev.ng-related projects. This is your starting point for development.
- The core project of rev.ng. It contains the lifter, the binary translator and all the core analyses. Do not build revng/revng by hand, use orchestra.
- A Python wrapper for LLVM. It's main feature is that, since it automatically generated the API, it's compatible with all the LLVM versions and, unlike llvmlite, it doesn't keep a representation of the IR using Python data structures, which makes it suitable for handling gigantic LLVM modules such as those produced by rev.ng.
- An experimental project that offers an XML view over the LLVM IR so that it can be queried using XPath, without ever materializing an XML tree in memory: the queries are performed on LLVM data structures directly. StarPath, a pugixml fork, can be generalized to query any in-memory C++ data structure.
- Our QEMU fork, exposing the QEMU intermediate representation (tiny code) as a library.