Files
lifting-bits-remill/docs/README.md
T
Alessandro Gario 4174c1a84b Update links and remotes with the new organization name (#362)
* Docs: Update links with the new organization name

* Scripts: Update remotes with the new organization name
2019-10-24 16:02:47 -04:00

1.2 KiB

Remill documentation

This document provides an index for topics relating to the design, implementation, and workings of Remill. Remill is an open-source, permissively licensed program. Persons interested in helping with the development of Remill should consult the "How to contribute" document.

Remill is a machine code to LLVM bitcode binary translation library. It provides APIs that enable other tools (e.g. McSema) to lift the instructions of binary programs into equivalent LLVM bitcode. Remill can and has been used by both static and dynamic binary translators.

Remill's approach to instruction lifting is showcased in the "How instructions are lifted" document. It shows how machine code bytes are decoded and mapped to C++ functions that implement the operational semantics of instructions. The "How to add and test an instruction" document describes the formatting and structure of these C++ functions.