REVEN-Axion User Documentation 2015-v1
GUI Addons

Python binding

Axion can easily be extended in python thanks to the python API. Moreover, Axion is shipped with a few plugins:

Percent addon

The percent addon add the capability of jumping between stack memory accesses. If the currently selected instruction writes something on the stack, percent will go to the next instruction reading the memory, on the other way, if the current instruction is reading some value on the stack, percent will jump on the previous instruction writting the memory. In practice, this is very useful to follow push/pop operands or call/ret boundaries.

The addon is named percent as it has been designed to work like the vim editor percent keybinding on curly brackets.

To use this addon, you must map a key to the to plugin in the shortcut configuration panel.

Gdbserver addon

The Gdbserver addon provides compatibility with the common gdb serial protocol api and migth be useful to users who need to use their favorite gdb compatible debugger as REVEN frontend. You can start the listening server via a graphical widget accessible through the Window menu.

To simply test the addon, start the service through the widget, and then connect to it with gdb command line.

$ gdb mybinary
(gdb) target remote <host>:<port>

Qb-sync addon

Qb-sync enables synchronisation between an IDA instance and a backend debugger. More information can be found on the QuarksLab blog at http://blog.quarkslab.com/qb-sync.html.

Axion Qb-sync addon provides a graphical widget to use REVEN as a Qb-sync debugger backend, so you can have both a dynamic view (Axion) and a static view (IDA) synced for an unmatched ease of analysis!

To use the addon, you have to install Qb-sync first. Then, you can start the Axion Qb-sync backend through the widget and launch the SyncPlugin.py IDA script to start the analysis.

Qb-Sync activates syncronization only when the right binary is being debugged, based on the name of the executable module. The information must therefore be available in REVEN; this means the scenario must contain processes information.