The project manager class exposes basic methods to manage scenarios, record them, replay them and start a REVEN server to analyse them.

Method __init__ Undocumented
Method hostname Property: The hostname of this project manager
Method port Property: The port of this project manager
Method get_files_list Undocumented
Method upload_file Undocumented
Method delete_file Undocumented
Method get_tasks_list Undocumented
Method get_active_tasks_list Undocumented
Method get_task Undocumented
Method get_task_log Undocumented
Method cancel_task Undocumented
Method delete_task Undocumented
Method update_qemu_snapshot Undocumented
Method get_snapshot Undocumented
Method get_scenarios_list Undocumented
Method create_scenario Undocumented
Method update_scenario Undocumented
Method delete_scenario Undocumented
Method import_scenario Undocumented
Method export_scenario Undocumented
Method get_sessions_list Undocumented
Method get_session Undocumented
Method get_session_log Undocumented
Method delete_session Undocumented
Method start_qemu_snapshot_session Undocumented
Method load_live_snapshot_qemu_session Undocumented
Method save_live_snapshot_qemu_session Undocumented
Method insert_cdrom_qemu_session Undocumented
Method eject_cdrom_qemu_session Undocumented
Method auto_record_binary Undocumented
Method auto_record_asm_stub Undocumented
Method start_record Undocumented
Method stop_record Undocumented
Method commit_record Undocumented
Method delete_qemu_session_record Undocumented
Method start_vbox_snapshot_session Undocumented
Method insert_cdrom_vbox_session Undocumented
Method eject_cdrom_vbox_session Undocumented
Method stop_session Undocumented
Method get_resources_list Undocumented
Method get_actions_list Undocumented
Method replay_scenario Undocumented
Method get_scenario Undocumented
Method delete_scenario_record Undocumented
Method get_scenario_resources_list Undocumented
Method get_scenario_resource Undocumented
Method delete_scenario_resources Undocumented
Method delete_scenario_resource Undocumented
Method get_scenario_actions_list Undocumented
Method get_scenario_action Undocumented
Method start_reven_session Undocumented
Method connect Use this method in a `with` pattern to get a `RevenServer` instance connected to the specified scenario name.
Static Method _init_url Undocumented
Method _request Undocumented
def __init__(self, url):
Undocumented
@staticmethod
def _init_url(url):
Undocumented
@property
def hostname(self):

Property: The hostname of this project manager

@property
def port(self):

Property: The port of this project manager

def _request(self, actions, params=None):
Undocumented
def get_files_list(self, limit=5, offset=0, **kwargs):
Undocumented
def upload_file(self, filepath):
Undocumented
def delete_file(self, file_id):
Undocumented
def get_tasks_list(self, limit=5, offset=0, **kwargs):
Undocumented
def get_active_tasks_list(self, limit=5, offset=0, **kwargs):
Undocumented
def get_task(self, task_id):
Undocumented
def get_task_log(self, task_id, **kwargs):
Undocumented
def cancel_task(self, task_id):
Undocumented
def delete_task(self, task_id):
Undocumented
def update_qemu_snapshot(self, qemu_snapshot_id, **kwargs):
Undocumented
def get_snapshot(self, snapshot_id):
Undocumented
def get_scenarios_list(self, limit=5, offset=0, **kwargs):
Undocumented
def create_scenario(self, name, snapshot_id, **kwargs):
Undocumented
def update_scenario(self, scenario_id, **kwargs):
Undocumented
def delete_scenario(self, scenario_id):
Undocumented
def import_scenario(self, archive_name):
Undocumented
def export_scenario(self, scenario_id, replay=False, light_ossi=True, light_pdb=False, user_data=True):
Undocumented
def get_sessions_list(self, limit=5, offset=0, **kwargs):
Undocumented
def get_session(self, session_id):
Undocumented
def get_session_log(self, session_id, **kwargs):
Undocumented
def delete_session(self, session_id):
Undocumented
def start_qemu_snapshot_session(self, qemu_snapshot_id, live_snapshot=None, **kwargs):
Undocumented
def load_live_snapshot_qemu_session(self, qemu_session_id, live_snapshot_name):
Undocumented
def save_live_snapshot_qemu_session(self, qemu_session_id, live_snapshot_name):
Undocumented
def insert_cdrom_qemu_session(self, qemu_session_id, **kwargs):
Undocumented
def eject_cdrom_qemu_session(self, qemu_session_id):
Undocumented
def auto_record_binary(self, qemu_session_id, binary_name, **kwargs):
Undocumented
def auto_record_asm_stub(self, qemu_session_id, **kwargs):
Undocumented
def start_record(self, qemu_session_id):
Undocumented
def stop_record(self, qemu_session_id):
Undocumented
def commit_record(self, qemu_session_id, scenario_id, **kwargs):
Undocumented
def delete_qemu_session_record(self, qemu_session_id, **kwargs):
Undocumented
def start_vbox_snapshot_session(self, vbox_snapshot_id, **kwargs):
Undocumented
def insert_cdrom_vbox_session(self, vbox_session_id, **kwargs):
Undocumented
def eject_cdrom_vbox_session(self, vbox_session_id):
Undocumented
def stop_session(self, session_id):
Undocumented
def get_resources_list(self):
Undocumented
def get_actions_list(self):
Undocumented
def replay_scenario(self, scenario_id, resources=None, actions=None, **kwargs):
Undocumented
def get_scenario(self, scenario_id):
Undocumented
def delete_scenario_record(self, scenario_id):
Undocumented
def get_scenario_resources_list(self, scenario_id):
Undocumented
def get_scenario_resource(self, scenario_id, resource_name):
Undocumented
def delete_scenario_resources(self, scenario_id):
Undocumented
def delete_scenario_resource(self, scenario_id, resource_name):
Undocumented
def get_scenario_actions_list(self, scenario_id):
Undocumented
def get_scenario_action(self, scenario_id, action_name):
Undocumented
def start_reven_session(self, scenario_id):
Undocumented
def connect(self, name, ephemeral=True):

Use this method in a `with` pattern to get a `RevenServer` instance connected to the specified scenario name.

This avoids having to use port numbers to connect to a server.

A new server will be started if there is no server for this scenario. If ephemeral is set to True (the default) and a new server is started by this call, then disposing of the connection will stop the server.

Examples

>>> # Using the 'with' syntax
>>> with pm.connect("ddref") as server:
...     print(server.trace.transition_count)
>>> # From the command line, it can be easier to do:
>>> connection = Connection(pm, "ddref")
>>> server = connection.server
>>> print(server.trace.transition_count)
>>> connection.disconnect() # to stop the server if we started it
>>> # If you want to keep the server
>>> host = None
>>> port = None
>>> with pm.connect("ddref", ephemeral=False) as server:
...     # save the port for later use
...     host = server.host
...     port = server.port
... # The REVEN server is still accessible here
... server = reven2.RevenServer(host, port)
... print(server.trace.transition_count)
API Documentation for reven2, generated by pydoctor at 2019-11-13 18:38:15.