Crate radeco_lib [−] [src]
radeco-lib is the crate that powers the radare2 decompiler.
Apart from decompilation, this library is designed to allow users to perform static analysis on binaries in a easy and intuitive way. Reusuablility and Interactivity are the most important design principles of this library.
radeco-lib is built on top of r2pipe.rs, a simple library that provides methods to communicate with radare2 (using pipes). To know more about r2pipe or radare2 in general, please head over to the repo.
radeco-lib works on analyzing ESIL (Evaluable Strings Intermediate Language), an intermediate representation (IR) used by radare2 for emulation. ESIL is converted into an internal SSA IR and used for subsequent analysis and optimizations.
NOTE: This library is still under heavy developement. Some API's have been stabilized, please check the docs before using radeco-lib in your projects as changes may not be backwards compatible. Contributions, suggestions and bug reports are always welcome at: tracker
Module that implements analysis and optimizations on radeco IR.
Components converting SSA to more high level representations.
Components concerned with getting input to SSA form.
Components processing data in SSA form.
Module implements Pipeline and Runner structs to make radeco-lib easier to use.