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.
