reven2 package documentationThe REVEN2 python API.
Provide a pythonic way to interact with a Reven server. This mainly provides an object oriented wrapper on the low level api, plus a few helper functions to make REVEN scripting more straightforward.
To use it, the first step is to connect to a running Reven server, for example on port 13370 of the host localhost:
>>> import reven2 as rvn2 >>> server = rvn2.RevenServer('localhost', 13370)
Field members in our python classes are typically encapsulated in 
  properties. For instance, the private field 
  RevenServer._host can be read from RevenServer.host.
  Properties are special methods that should not be called with 
  parenthesis, e.g. RevenServer.host, not 
  RevenServer.host(). To make this distinction clearer in our 
  documentation, the documentation for a property always starts with the 
  keyword Property: (e.g., see the properties host and 
  port in RevenServer's 
  documentation).
Every notable changes to this api will be documented in this file.
tag0/tag1 to Tag0/Tag1
      ProjectManager.hostname
        and Project.port properties
      ProjectManager.connect
        to connect to a REVEN project from its name
      Instruction 
        object would sometimes contain wrong operands for relative 
        jmp
      Context.read
        method up to x3 in typical workloads
      timeout argument to the String.memory_accesses
        method, allowing to specify how long this function should attempt 
        to recover all accesses before raising an exception.
      Stack.backtrace
        property so that it returns a string instead of printing it.
      if register accessible from the API. 
        Previously, attempting to access reven2.arch.x64.if 
        would raise a SyntaxError, because if is 
        a python keyword. You can now access the if register 
        through reven2.arch.x64.if_.
      trace package 
        containing basic classes to navigate in a trace and inspect cpu 
        registers and memory
      search module 
        containing basic objects to search interesting points in a trace
      trace.Trace.memory_accesses
        and trace.Transition.memory_accesses
        to query memory accesses from the trace
      memhist package 
        containing MemoryAccess
        object
      stack module 
        containing basic objects to get interesting information on the 
        stack like the backtrace
      string module 
        containing a basic `String` object to get interesting strings in 
        the trace and their memory accesses
      ossi package 
        containing basic objects to get Operating System Semantic 
        Information (OSSI)
      types package 
        containing various predefined types and type constructors
      arch package 
        containing the various x86_64 registers
      address package 
        containing representation of memory addresses
      preview.project_manager
        package containing basic (incomplete) bindings to the REVEN project
        manager REST API
      preview.taint 
        package containing an experimental, simplified API for the taint
      RevenServer
        class (previously Project)
      | Module | address | Defines memory address classes | 
| Package | arch | Contains classes and instances related to the description of the machine architecture. | 
| Module | memhist | No module docstring; 2/3 classes, 0/8 functions documented | 
| Package | ossi | Package related to OSSI information. See the OssiContextobject. | 
| Module | prelude | This is the prelude module of the Reven2 python API | 
| Package | preview | Contains subpackages and modules whose API is not considered stable yet. | 
| Module | search | Module related to trace search. See the Searchobject. | 
| Module | stack | Module related to stack. See the Stackobject. | 
| Module | string | Module related to strings in trace. See the Stringobject. | 
| Package | trace | Module related to the execution trace. See the Traceobject. | 
| Package | types | Contains classes and instances related to the description of data types. | 
| Module | util | Module that provide util functions |