class ProjectManager(object):
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 |
Instance Variable | client |
Undocumented |
Instance Variable | document |
Undocumented |
Property | hostname |
Property: The hostname of this project manager |
Property | 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. |
Instance Variable | _url |
Undocumented |
Static Method | _init_url |
Undocumented |
Method | _do_request |
Undocumented |
Method | _request |
Undocumented |
Undocumented
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.
>>> # 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)