Classes | Enumerations

# Package BinNavi.API.disassembly

Contains classes that represent disassembled files. More...

## Classes
class | Address
| Represents addresses throughout the plugin API. More...
class | AddressSpace
| Represents a single address space. More...
class | AddressSpaceListenerAdapter
| Adapter class for address spaces. More...
class | BasicBlock
| Represents basic blocks of flowgraphs. More...
class | BlockEdge
| Represents edges between basic blocks in flowgraphs. More...
class | Callgraph
| Represents a single callgraph. More...
class | CodeNode
| Represents a view node that shows instructions. More...
class | CodeNodeListenerAdapter
| Adapter class for code nodes. More...
class | CouldntConnectException
| Database exception class. More...
class | CouldntDeleteException
| Database exception class. More...
class | CouldntInitializeDatabaseException
| Database exception class. More...
class | CouldntLoadDataException
| Database exception class. More...
class | CouldntLoadDriverException
| Database exception class. More...
class | CouldntSaveDataException
| Database exception class. More...
class | Database
| Represents a single database configuration. More...
class | DatabaseListenerAdapter
| Adapter class for databases. More...
class | DatabaseManager
| Keeps track of all known databases. More...
class | DatabaseManagerListenerAdapter
| Adapter class for database managers. More...
class | DebuggerTemplate
| Can be used to create debugger objects. More...
class | DebuggerTemplateListenerAdapter
| Adapter class for debugger templates. More...
class | DebuggerTemplateManager
| Manages all known debugger templates. More...
class | DebuggerTemplateManagerListenerAdapter
| Adapter class for debugger template managers. More...
class | FlowGraph
| Represents a single flowgraph. More...
class | FlowGraphHelpers
| Offers convenience functions for working with flow graphs. More...
class | Function
| Represents a single function. More...
class | FunctionBlock
| Represents a single block of a function. More...
class | FunctionEdge
| Represents a single edge that connects the blocks of a function. More...
class | FunctionListenerAdapter
| Adapter class for functions. More...
class | FunctionNode
| Represents a node that represents a function in a view. More...
class | FunctionNodeListenerAdapter
| Adapter class for function nodes. More...
class | GlobalVariable
| A global module variable. More...
class | GlobalVariableListenerAdapter
| Adapter class for global variable listeners. More...
class | GlobalVariablesManager
| Manages the global variables of a module. More...
class | GroupNode
| Represents a view node that can be used to group other view nodes. More...
class | GroupNodeListenerAdapter
| Adapter class for group nodes. More...
interface | IAddressSpaceListener
| Used to listen on address spaces. More...
interface | ICodeNodeListener
| Used to listen on code nodes. More...
interface | IDatabaseListener
| Used to listen on databases. More...
interface | IDatabaseManagerListener
| Used to listen on database managers. More...
interface | IDebuggerTemplateListener
| Used to listen on debugger templates. More...
interface | IDebuggerTemplateManagerListener
| Used to listen on debugger template managers. More...
interface | IDirectedGraph< NodeType, EdgeType >
| Interface for directed graphs. More...
interface | IFunctionListener
| Used to listen on functions. More...
interface | IFunctionNodeListener
| Used to listen on function nodes. More...
interface | IGlobalVariableListener
| Used to listen on global variables. More...
interface | IGraphNode< T >
| Base class for all graph nodes. More...
interface | IGroupNodeListener
| Used to listen on group nodes. More...
interface | IInstructionListener
| Used to listen on instructions. More...
interface | IModuleListener
| Used to listen on modules. More...
class | ImportFailedException
| Import exception class. More...
class | InliningResult
| Stores the result of an inlining operation. More...
class | Instruction
| Represents a single disassembled instruction. More...
class | InstructionListenerAdapter
| Adapter class for instruction listeners. More...
class | InvalidDatabaseException
| Database exception class. More...
class | InvalidDatabaseFormatException
| Database exception class. More...
class | InvalidDatabaseVersionException
| Database exception class. More...
interface | IOperandExpressionListener
| Used to listen on operand expressions. More...
interface | IProjectListener
| Used to listen on address projects. More...
interface | ITagListener
| Used to listen on tags. More...
interface | ITagManagerListener
| Used to listen on tag managers. More...
interface | ITextNodeListener
| Used to listen on text nodes. More...
interface | ITraceListener
| Used to listen on traces. More...
interface | IView2DListener
| Used to listen on View2D objects. More...
interface | IViewEdgeListener
| Used to listen on view edges. More...
interface | IViewListener
| Used to listen on views. More...
interface | IViewNodeListener
| Used to listen on view nodes. More...
class | Module
| Represents a single module. More...
class | ModuleHelpers
| Convenience functions for working with modules. More...
class | ModuleListenerAdapter
| Simplifies module listeners. More...
class | Operand
| Represents a single operand of a disassembled instruction. More...
class | OperandExpression
| Represents a single operand expression of an operand. More...
class | OperandExpressionListenerAdapter
| Adapter class for operand expressions. More...
class | PartialLoadException
| Thrown to signal failed load events caused by incompletely loaded information. More...
class | Project
| Represents a single project. More...
class | ProjectListenerAdapter
| Adapter class for projects. More...
class | Reference
| Represents a single code or data reference. More...
class | Tag
| Represents a single view tag or node tag. More...
class | TagListenerAdapter
| Adapter class for tag listeners. More...
class | TagManager
| Keeps track of known tags. More...
class | TagManagerListenerAdapter
| Adapter class for tag managers. More...
class | TextNode
| Represents nodes that contains simple text. More...
class | Trace
| A single debug trace. More...
class | TraceEvent
| A single debug event. More...
class | TraceListenerAdapter
| Adapter class for trace listeners. More...
class | TracePoint
| Describes trace events for trace logging. More...
class | TraceRegister
| Recorded register value. More...
class | View
| Represents a single view. More...
class | View2D
| Represents a single drawable view. More...
class | View2DListenerAdapter
| Simplifies View2D listeners. More...
interface | ViewContainer
| Interface for objects that contain views. More...
class | ViewEdge
| Represents a single edge in a view. More...
class | ViewEdgeListenerAdapter
| Adapter class for view edges. More...
class | ViewGraph
class | ViewGraphHelpers
| Offers convenience functions for working with view graphs. More...
class | ViewListenerAdapter
| Adapter class for views. More...
class | ViewNode
class | ViewNodeListenerAdapter
| Adapter class for view nodes. More...
## Enumerations
enum | EdgeType { JumpConditionalTrue, JumpConditionalFalse, JumpUnconditional, JumpSwitch, JumpConditionalTrueLoop, JumpConditionalFalseLoop, JumpUnconditionalLoop, EnterInlinedFunction, LeaveInlinedFunction, TextNode }
| Used to determine the type of an edge. More...
enum | ExpressionType { Symbol, ImmediateInteger, ImmediateFloat, Operator, Register, SizePrefix, MemDeref, ExpressionList }
| Describes the potential types of operand tree expressions. More...
enum | FunctionType { Normal, Library, Import, Thunk, AdjustorThunk, Unknown }
enum | GraphType { Callgraph, Flowgraph, MixedGraph }
enum | ReferenceType
| Describes the types of references. More...
enum | TagType { ViewTag, NodeTag }
enum | TraceEventType { Breakpoint, EchoBreakpoint }
| Describes trace events. More...
enum | ViewType { , NonNative }

## Detailed Description

The package BinNavi.API.disassembly contains classes that are used to access the disassembly information of disassembled files that are stored in the database. This package contains classes that represent all abstraction levels from the databases itself down to the individual operand expressions of disassembled instructions.

## Enumeration Type Documentation

enum BinNavi::API::disassembly::EdgeType

Each edge of a graph must have a type.

Enumerator:

  JumpConditionalTrue | The True branch of a conditional jump.
  JumpConditionalFalse | The False branch of a conditional jump.
  JumpUnconditional | Unconditional jump.
  JumpSwitch | Edge inside a Switch statement.
  JumpConditionalTrueLoop | True branch of a conditional jump inside a loop.
  JumpConditionalFalseLoop | False branch of a conditional jump inside a loop.
  JumpUnconditionalLoop | Unconditional jump inside a loop.
  EnterInlinedFunction | Edge that enters an inlined function.
  LeaveInlinedFunction | Edge that leaves an inlined function.
  TextNode | Edge that connects a comment node with another node.

enum BinNavi::API::disassembly::ExpressionType

Enumeration of potential operand tree expression types.

Enumerator:

  Symbol | The expression is a symbol.
  ImmediateInteger | The expression is an immediate integer value.
  ImmediateFloat | The expression is an immediate float value.
  Operator | The expression is an operand.
  Register | The expression is a register.
  SizePrefix | The expression is a size prefix.
  MemDeref | The expression is a memory dereferencing operation.
  ExpressionList | The expression is an expression list.

enum BinNavi::API::disassembly::FunctionType

Describes the type of functions.

Enumerator:

  Normal | Normal function
  Library | Function that was identified to be part of some standard library
  Import | Function that is dynamically imported from an external module
  Thunk | Function that merely jumps to another function
  AdjustorThunk | Adjustor thunk function
  Unknown | Function whose type is not known

enum BinNavi::API::disassembly::GraphType

Describes the type of graphs.

Enumerator:

  Callgraph | Graph that contains only function nodes.
  Flowgraph | Graph that contains only code nodes.
  MixedGraph | Graph that contains both code nodes and function nodes.

enum BinNavi::API::disassembly::ReferenceType

Describes the type of references.

enum BinNavi::API::disassembly::TagType

Tags can be either view tags or node tags.

Enumerator:

  ViewTag | Tag type of tags that can be used to tag views.
  NodeTag | Tag type of tags that can be used to tag nodes.

enum BinNavi::API::disassembly::TraceEventType

This enumeration contains all possible types of trace events.

Enumerator:

  Breakpoint | Trace event was caused by a regular breakpoint.
  EchoBreakpoint | Trace event was caused by an echo breakpoint.

enum BinNavi::API::disassembly::ViewType

Describes the type of views.

Enumerator:

  NonNative | Identifies views as non-native views. These views are user-created views that can be modified.