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 | logs | Get the list of logs generated during the execution of this project. @return: A list of tuple describing the log level, message and associated point (or None). |
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 | search_memory_access | No summary |
Method | taint | Propagate a taint from an initial point in a given direction. |
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 | map_memory_segment_into_process | No summary |
Method | add_symbols_to_binary | Add symbols to a binary. @param binary: Path of the binary @param symbols: list of Symbol to add in the binary. |
Method | __repr__ | Undocumented |
Method | _reset | Undocumented |
Method | _init_logs | 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 logs generated during the execution of this project.
Returns | A list of tuple describing the log level, message and associated point (or
None).
Note that the point will always point to the first instruction of the offending sequence if any. |
Search for memory access.
Parameters | addr | The memory start physical address |
size | The memory range size | |
Returns | the list of memory accesses which occured in the physical memory buffer. |
Propagate a taint from an initial point in a given direction.
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.
Parameters | begin | The initial point to start tainting from. |
initial_taint | A list of Symbolic
object considered tainted at the initial point. | |
forward | A boolean indicating the taint propagationd direction. | |
count | The maximum number of taint propagation to perform. 0 mean unlimited. | |
timeout | An optionnal time limit in ms. 0 means no timeout, but beware that it can freeze the server for quite long. | |
Returns | A taint propagation result object of type 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.
Stop the running execution.
Note this is not blocking, and you should wait for execution_status().is_done to be True before doing anything else.
Map a memory segment into a process.
Parameters | cr3 | cr3 of the process where to map the memory segment. |
segment | Memory segment to map. | |
base_address | (Optional) Base address of the binary the segment belongs to. If not applicable (for example the stack), the default base address is equal to the segment's address. |