Documentation

The nrop components and tricks are detailed in the following sections. If you feel that something is poorly explained feel free to contact me :)

Disassemblers

nrop relied for a long time on the XED disassemblers, but now a new tiny interface is available to use your custom state-of-art disassembler. You can see the in-depth details in the dedicated documentation page.

Logging/Debug

Several levels of logs and debug are available in the nrop source code. However they are disabled by default for performances and have to be enabled before compilation. The logging documentation page details how it is implemented and how to enable them.

Plugins

The nrop architecture allows more than just Return-Oriented Programming. You can play with the ELF file format and create new plugins by registering your new code in the main file packer.c.

The following pages are explaining specific plugins.

Analysis and instrumentation

The project can be compiled with clang and various dynamic analysis such as ASAN. See the analysis documentation for more information.

Using the engine as a library

If you only need the assembly converter to LLVM, read the dedicated page

FAQ

The compilation can be complicated, and the faq dedicated page is a convenient start to progress.