Part of reven.api View In Hierarchy
A reven project. This is the root api object.
| Method | __init__ | Connect to a Reven project. @param host: The reven host. @param port: The reven port. |
| Method | host | The reven host. |
| Method | port | The reven port. |
| Method | connected | The connection status. @return: True if connection is
established. |
| Method | connect | Connect to the reven host. |
| Method | disconnect | Disconnect from the reven host. |
| Method | status | Get the connection status string. |
| Method | errors | Get the list of errors generated during the execution of this project as a dict (Point -> [str]) Note that the point will always point to the first instruction of the offending sequence. |
| Method | binaries | Get the list of binaries present in the trace. |
| Method | reports | Get the list of reports. |
| Method | devices | Get the list of devices present in the trace. |
| Method | framebuffer | Get the framebuffer information. |
| Method | processes | Get the processes present in the trace. |
| Method | process | Get process by pid. |
| Method | process_switches | Get the list of process switches. |
| Method | traces | Get a list of available traces (main execution run and IRQs). |
| Method | trace | Get a trace by name. |
| Method | taint | Propagate a taint from an initial point until another point in a trace. |
| Method | device_history | No summary |
| Method | saves | Get a list of available saved project. |
| Method | save_execution | Save the current execution. If a save with the same name already exists, it will be overwriten. |
| Method | start_execution | Start a new execution. You can pass this execution a list of Inspectors. |
| Method | stop_execution | Stop the running execution. |
| Method | resume_execution | Resume the stopped execution. |
| Method | execution_status | The execution progress. |
| Method | __repr__ | Undocumented |
| Method | _reset | Undocumented |
| Method | _init_errors | Undocumented |
| Method | _init_binaries | Undocumented |
| Method | _init_reports | Undocumented |
| Method | _init_processes | Undocumented |
| Method | _init_process_switches | Undocumented |
| Method | _init_traces | Undocumented |
| Method | _init_devices | Undocumented |
Connect to a Reven project.
| Parameters | host | The reven host. |
| port | The reven port. |
Get the list of errors generated during the execution of this project as a dict (Point -> [str]) Note that the point will always point to the first instruction of the offending sequence.
Propagate a taint from an initial point until another point in a trace.
The propagation result is presented as a collection of taint modifications. This allow to get every propagation step but might be confusing for the user.
Note that if, at a certain point, the taint doesn't change (TaintDiff.tainted
& TaintDiff.untainted
are empty), it can mean one of two things:
| Parameters | begin | The initial point to start tainting from. |
| end | The taint ending point. May be above (backward) or below (forward) the start_point. | |
| initial_taint | A list of Symbolic
object considered tainted at the initial point. | |
| timeout | An optionnal time limit in ms. 0 means no timeout, but beware that it can freeze the server for quite long. | |
| Returns | a dict mapping instruction Point and their effects TaintDiff on the taint. | |
Get a list of device accesses.
| Parameters | device | An optionnal device name to match. |
| subdevice | An optionnal subdevice name to match. | |
| Returns | a list of DeviceAccess. | |
Save the current execution. If a save with the same name already exists, it will be overwriten.
Start a new execution. You can pass this execution a list of Inspectors.
Note that you can only start an execution if the project is awaiting configuration. If you wish to restart a new execution, you should restart the project.