🚨 This project has been rewritten and is superseded by https://github.com/facebookexperimental/reverie. This version is archived and will remain for posterity. 🚨
A library to intercept Linux syscalls (and select x86_64 instructions), and convert them into function calls. The user of this library provides a shared library containing the callbacks that are triggered on intercepted events.
See for Documentation.
We use rust nightly to build reveri and the tool libraries. To install, please follow instructions from: https://rustup.rs
After nightly rust and cargo are installed, reverie (and tool libraries) can be built by:
cargo build # build `reverie` only
or
cargo build --all # build `reverie` and tool libraries
./target/debug/reverie --tool=target/debug/libecho.so --preloader=target/debug/libpreloader.so -- /path/to/X [X_command_arguments]
Tool log can be enabled by pass TOOL_LOG=<level>
as environment variables (with reverie
).
tests are under tests
directory, you can run make test
to run them.