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

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.

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.

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

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.

Describes the type of references.

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.

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.

Describes the type of views.

Enumerator:
NonNative 

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