The Reverse Engineering Vector Machine : librevm

The Reverse Engineering Vector Machine (REVM) implements the ERESI interpreter. REVM is a central piece of software in the ERESI framework as it exports a complete API for interpreting programs written in the ERESI language independently of the binary format, architecture, or Operating System environment.

The main features of the REVM library are :

  • A generic system for executing script programs that include procedures, bit-level data types, and complex variables.
  • A configuration system allowing ERESI environment variables for personalizing the REVM behavior for your own convenience.
  • A generic module system for dynamically loaded ERESI extensions.
  • Handling of I/O for receiving commands from readline or from the network (optional).
  • Capability of logging work sessions on disk for future consultation.

Latest news for librevm

November 30 2007
REVM splitted into 2 libraries : commands are now located in libstderesi
June 17 2007
Fixed to run on Solaris
June 10 2007
Added more printing support for core files
May 24 2007
Fixed readline support for the debugger mode

Portability of librevm

REVM is the ERESI language interpreter. Questioning the portability of REVM is actually questioning the one of the ERESI interpreter. REVM is not an architecture or OS dependant component. Thus it can be included in projects for any architecture, on any OS, independantly of the used binary format.

Dependencies

The REVM library depends on other components from the ERESI framework :

  • libaspect : the types specification library, for exporting API for hash tables, profiling, and eresi vectors.
  • libui: the optional user interface library implementing readline interface (only if configured ERESI with --enable-readline)

Articles featuring librevm

There is currently no article dedicated to librevm. Stay tuned for one article work in progress on the Eresi language itself.