Binary Ninja API C++: BinaryNinja Namespace Reference

Classes

class  RefCountObject class  CoreRefCountObject class  StaticCoreRefCountObject class  Ref class  CallbackRef class  ConfidenceBase class  Confidence class  Confidence< Ref< T > > class  LogListener class  Logger  Logger is a class allowing scoped logging to the console. More...
class  LogRegistry  A class allowing registering and retrieving Loggers. More...
struct  VersionInfo class  Metadata struct  ProgressContext class  DataBuffer class  TemporaryFile  TemporaryFile is used for creating temporary files, stored (temporarily) in the system's default temporary file directory. More...
class  NavigationHandler class  User struct  InstructionTextToken  `InstructionTextToken` is used to tell the core about the various components in the disassembly views. More...
struct  DatabaseException class  KeyValueStore  Maintains access to the raw data stored in Snapshots and various other Database-related structures. More...
class  Snapshot  A model of an individual database snapshot, created on save. More...
class  Database  Provides lower level access to raw snapshot data used to construct analysis data. More...
struct  ProjectException class  ExternalLocation class  ExternalLibrary class  ProjectNotification class  ProjectFolder class  ProjectFile class  Project class  UndoAction class  UndoEntry class  SaveSettings class  FileMetadata class  BinaryDataNotification class  FileAccessor class  CoreFileAccessor class  NameList class  QualifiedName class  NameSpace class  StringRef class  Symbol struct  FunctionViewType struct  ReferenceSource struct  TypeFieldReference struct  ILReferenceSource struct  TypeReferenceSource struct  DisassemblyTextLineTypeInfo struct  DisassemblyTextLine struct  LinearDisassemblyLine struct  TypeDefinitionLine class  AnalysisCompletionEvent struct  ActiveAnalysisInfo struct  AnalysisInfo struct  DataVariable struct  DataVariableAndName class  TagType class  Tag struct  TagReference class  Segment  The Segment object is returned during BinaryView creation and should not be directly instantiated. More...
class  Section  The Section object is returned during BinaryView creation and should not be directly instantiated. More...
struct  RegisterValue struct  AllTypeReferences struct  AllTypeFieldReferences class  CustomStringType  Represents a custom string type. More...
struct  DerivedStringLocation  Location associated with a derived string. More...
struct  DerivedString  Contains a string derived from code or data. More...
class  QueryMetadataException class  BinaryView  BinaryView implements a view on binary data, and presents a queryable interface of a binary file. More...
class  MemoryMap class  Relocation class  BinaryData class  BinaryViewType  The BinaryViewType object is used internally and should not be directly instantiated. More...
class  CoreBinaryViewType class  ReadException  Thrown whenever a read is performed out of bounds. More...
class  BinaryReader  BinaryReader is a convenience class for reading binary data. More...
class  WriteException  Raised whenever a write is performed out of bounds. More...
class  BinaryWriter  BinaryWriter is a convenience class for writing binary data. More...
struct  TransformParameter class  Transform  Allows users to implement custom transformations. More...
class  CoreTransform class  TransformContext class  TransformSession struct  InstructionInfo struct  NameAndType class  BasicBlockAnalysisContext class  Architecture  The Architecture class is the base class for all CPU architectures. More...
class  CoreArchitecture class  ArchitectureExtension class  ArchitectureHook struct  Variable struct  VariableReferenceSource struct  FunctionParameter class  FieldResolutionInfo struct  QualifiedNameAndType struct  TypeAndId struct  ParsedType struct  TypeParserResult struct  TypeParserError struct  TypeAttribute class  Type class  TypeBuilder class  NamedTypeReference class  NamedTypeReferenceBuilder struct  StructureMember struct  InheritedStructureMember struct  BaseStructure class  Structure  Structure is a class that wraps built structures and retrieves info about them. More...
class  StructureBuilder  StructureBuilder is a convenience class used for building Structure Types. More...
struct  EnumerationMember class  Enumeration class  EnumerationBuilder  EnumerationBuilder is a convenience class used for building Enumeration Types. More...
class  AnalysisContext class  Activity class  WorkflowMachine class  Workflow  Workflows are represented as Directed Acyclic Graphs (DAGs), where each node corresponds to an Activity (an individual analysis or action). More...
class  DisassemblySettings struct  BasicBlockEdge struct  PendingBasicBlockEdge class  BasicBlock struct  VariableNameAndType struct  StackVariableReference struct  IndirectBranchInfo struct  ArchAndAddr struct  LookupTableEntry struct  ConstantData struct  PossibleValueSet class  Function class  AdvancedFunctionAnalysisDataRequestor struct  FlowGraphEdge class  FlowGraphNode class  FlowGraphLayoutRequest class  FlowGraph  FlowGraph implements a directed flow graph to be shown in the UI. More...
class  CoreFlowGraph class  FlowGraphLayout class  CoreFlowGraphLayout struct  LowLevelILLabel struct  ILSourceLocation class  LowLevelILFunction struct  MediumLevelILLabel class  MediumLevelILFunction class  HighLevelILFunction struct  LineFormatterSettings class  LineFormatter class  CoreLineFormatter class  LanguageRepresentationFunction  LanguageRepresentationFunction represents a single function in a registered high level language. More...
class  CoreLanguageRepresentationFunction class  LanguageRepresentationFunctionType  LanguageRepresentationFunctionType represents a custom language representation function type. More...
class  CoreLanguageRepresentationFunctionType class  FunctionRecognizer class  RelocationHandler class  CoreRelocationHandler class  UpdateException struct  UpdateChannel struct  UpdateVersion  UpdateVersion documentation. More...
struct  PluginCommandContext class  PluginCommand  The PluginCommand class is used for registering "commands" for Plugins, corresponding to code in those plugins to be executed. More...
class  CallingConvention class  CoreCallingConvention class  Platform  Platform base class. More...
class  CorePlatform class  TypeParser class  CoreTypeParser class  TypePrinter class  CoreTypePrinter class  DownloadInstance class  CoreDownloadInstance class  DownloadProvider class  CoreDownloadProvider class  WebsocketClient class  CoreWebsocketClient class  WebsocketProvider class  CoreWebsocketProvider class  ScriptingOutputListener class  ScriptingInstance class  CoreScriptingInstance class  ScriptingProvider class  CoreScriptingProvider class  MainThreadAction class  MainThreadActionHandler class  BackgroundTask struct  FormInputField class  ReportCollection class  InteractionHandler class  RepoPlugin class  Repository class  RepositoryManager class  Settings  Settings provides a way to define and access settings in a hierarchical fashion. More...
class  DataRenderer  DataRenderer objects tell the Linear View how to render specific types. More...
class  DataRendererContainer  Used for registering DataRenderers. More...
class  DisassemblyTextRenderer struct  LinearViewObjectIdentifier class  LinearViewObject class  LinearViewCursor class  SimplifyName struct  FindParameters struct  DebugFunctionInfo class  DebugInfo class  DebugInfoParser class  CustomDebugInfoParser class  SecretsProvider  Class for storing secrets (e.g. More...
class  CoreSecretsProvider class  Component  Components are objects that can contain Functions and other Components. More...
class  TypeLibrary class  TypeArchiveNotification class  TypeArchive  Type Archives are a collection of types which can be shared between different analysis sessions and are backed by a database file on disk. More...
class  TypeContainer  A TypeContainer is a generic interface to access various Binary Ninja models that contain types. More...
class  SymbolQueue struct  BaseAddressDetectionSettings class  BaseAddressDetection struct  FirmwareNinjaDevice struct  FirmwareNinjaFunctionMemoryAccesses struct  FirmwareNinjaDeviceAccesses class  FirmwareNinjaReferenceNode  FirmwareNinjaReferenceNode is a class used to build reference trees for memory regions, functions, and data variables. More...
class  FirmwareNinjaRelationship  FirmwareNinjaRelationship is a class used to represent inter-binary and cross-binary relationships. More...
class  FirmwareNinja  FirmwareNinja is a class containing features specific to firmware analysis. More...
class  Demangler class  CoreDemangler class  HighLevelILTokenEmitter  HighLevelILTokenEmitter contains methods for emitting text tokens for High Level IL instructions. More...
class  RenderLayer  RenderLayer is a plugin class that allows you to customize the presentation of Linear and Graph view output, adding, changing, or removing lines before they are presented in the UI. More...
class  CoreRenderLayer class  ConstantRenderer  ConstantRenderer allows custom rendering of constants in high level representations. More...
class  CoreConstantRenderer class  StringRecognizer  StringRecognizer recognizes custom strings found in high level expressions. More...
class  CoreStringRecognizer struct  ExceptionWithStackTrace struct  APIAble  Helper class to determine if a type is "API-able" aka has the following interface: More...
struct  HighLevelILInstructionAccessor class  HighLevelILInstructionAccessException class  HighLevelILIntegerList class  HighLevelILIndexList class  HighLevelILInstructionList class  HighLevelILSSAVariableList struct  HighLevelILInstructionBase struct  HighLevelILInstruction class  HighLevelILOperand class  HighLevelILOperandList struct  HighLevelILConstantInstruction struct  HighLevelILConstantDataInstruction struct  HighLevelILOneOperandInstruction struct  HighLevelILTwoOperandInstruction struct  HighLevelILTwoOperandWithCarryInstruction struct  HighLevelILInstructionAccessor< HLIL_BLOCK > struct  HighLevelILInstructionAccessor< HLIL_IF > struct  HighLevelILInstructionAccessor< HLIL_WHILE > struct  HighLevelILInstructionAccessor< HLIL_WHILE_SSA > struct  HighLevelILInstructionAccessor< HLIL_DO_WHILE > struct  HighLevelILInstructionAccessor< HLIL_DO_WHILE_SSA > struct  HighLevelILInstructionAccessor< HLIL_FOR > struct  HighLevelILInstructionAccessor< HLIL_FOR_SSA > struct  HighLevelILInstructionAccessor< HLIL_SWITCH > struct  HighLevelILInstructionAccessor< HLIL_CASE > struct  HighLevelILInstructionAccessor< HLIL_GOTO > struct  HighLevelILInstructionAccessor< HLIL_LABEL > struct  HighLevelILInstructionAccessor< HLIL_RET > struct  HighLevelILInstructionAccessor< HLIL_VAR_DECLARE > struct  HighLevelILInstructionAccessor< HLIL_VAR_INIT > struct  HighLevelILInstructionAccessor< HLIL_VAR_INIT_SSA > struct  HighLevelILInstructionAccessor< HLIL_ASSIGN > struct  HighLevelILInstructionAccessor< HLIL_ASSIGN_UNPACK > struct  HighLevelILInstructionAccessor< HLIL_ASSIGN_MEM_SSA > struct  HighLevelILInstructionAccessor< HLIL_ASSIGN_UNPACK_MEM_SSA > struct  HighLevelILInstructionAccessor< HLIL_FORCE_VER > struct  HighLevelILInstructionAccessor< HLIL_FORCE_VER_SSA > struct  HighLevelILInstructionAccessor< HLIL_ASSERT > struct  HighLevelILInstructionAccessor< HLIL_ASSERT_SSA > struct  HighLevelILInstructionAccessor< HLIL_STRUCT_FIELD > struct  HighLevelILInstructionAccessor< HLIL_DEREF_FIELD > struct  HighLevelILInstructionAccessor< HLIL_DEREF_SSA > struct  HighLevelILInstructionAccessor< HLIL_DEREF_FIELD_SSA > struct  HighLevelILInstructionAccessor< HLIL_ARRAY_INDEX > struct  HighLevelILInstructionAccessor< HLIL_ARRAY_INDEX_SSA > struct  HighLevelILInstructionAccessor< HLIL_SPLIT > struct  HighLevelILInstructionAccessor< HLIL_VAR > struct  HighLevelILInstructionAccessor< HLIL_VAR_SSA > struct  HighLevelILInstructionAccessor< HLIL_VAR_PHI > struct  HighLevelILInstructionAccessor< HLIL_MEM_PHI > struct  HighLevelILInstructionAccessor< HLIL_JUMP > struct  HighLevelILInstructionAccessor< HLIL_CALL > struct  HighLevelILInstructionAccessor< HLIL_SYSCALL > struct  HighLevelILInstructionAccessor< HLIL_TAILCALL > struct  HighLevelILInstructionAccessor< HLIL_CALL_SSA > struct  HighLevelILInstructionAccessor< HLIL_SYSCALL_SSA > struct  HighLevelILInstructionAccessor< HLIL_INTRINSIC > struct  HighLevelILInstructionAccessor< HLIL_INTRINSIC_SSA > struct  HighLevelILInstructionAccessor< HLIL_TRAP > struct  HighLevelILInstructionAccessor< HLIL_EXTERN_PTR > struct  HighLevelILInstructionAccessor< HLIL_NOP > struct  HighLevelILInstructionAccessor< HLIL_BREAK > struct  HighLevelILInstructionAccessor< HLIL_CONTINUE > struct  HighLevelILInstructionAccessor< HLIL_NORET > struct  HighLevelILInstructionAccessor< HLIL_BP > struct  HighLevelILInstructionAccessor< HLIL_UNDEF > struct  HighLevelILInstructionAccessor< HLIL_UNIMPL > struct  HighLevelILInstructionAccessor< HLIL_UNREACHABLE > struct  HighLevelILInstructionAccessor< HLIL_CONST > struct  HighLevelILInstructionAccessor< HLIL_CONST_PTR > struct  HighLevelILInstructionAccessor< HLIL_FLOAT_CONST > struct  HighLevelILInstructionAccessor< HLIL_IMPORT > struct  HighLevelILInstructionAccessor< HLIL_CONST_DATA > struct  HighLevelILInstructionAccessor< HLIL_ADD > struct  HighLevelILInstructionAccessor< HLIL_SUB > struct  HighLevelILInstructionAccessor< HLIL_AND > struct  HighLevelILInstructionAccessor< HLIL_OR > struct  HighLevelILInstructionAccessor< HLIL_XOR > struct  HighLevelILInstructionAccessor< HLIL_LSL > struct  HighLevelILInstructionAccessor< HLIL_LSR > struct  HighLevelILInstructionAccessor< HLIL_ASR > struct  HighLevelILInstructionAccessor< HLIL_ROL > struct  HighLevelILInstructionAccessor< HLIL_ROR > struct  HighLevelILInstructionAccessor< HLIL_MUL > struct  HighLevelILInstructionAccessor< HLIL_MULU_DP > struct  HighLevelILInstructionAccessor< HLIL_MULS_DP > struct  HighLevelILInstructionAccessor< HLIL_DIVU > struct  HighLevelILInstructionAccessor< HLIL_DIVS > struct  HighLevelILInstructionAccessor< HLIL_MODU > struct  HighLevelILInstructionAccessor< HLIL_MODS > struct  HighLevelILInstructionAccessor< HLIL_DIVU_DP > struct  HighLevelILInstructionAccessor< HLIL_DIVS_DP > struct  HighLevelILInstructionAccessor< HLIL_MODU_DP > struct  HighLevelILInstructionAccessor< HLIL_MODS_DP > struct  HighLevelILInstructionAccessor< HLIL_CMP_E > struct  HighLevelILInstructionAccessor< HLIL_CMP_NE > struct  HighLevelILInstructionAccessor< HLIL_CMP_SLT > struct  HighLevelILInstructionAccessor< HLIL_CMP_ULT > struct  HighLevelILInstructionAccessor< HLIL_CMP_SLE > struct  HighLevelILInstructionAccessor< HLIL_CMP_ULE > struct  HighLevelILInstructionAccessor< HLIL_CMP_SGE > struct  HighLevelILInstructionAccessor< HLIL_CMP_UGE > struct  HighLevelILInstructionAccessor< HLIL_CMP_SGT > struct  HighLevelILInstructionAccessor< HLIL_CMP_UGT > struct  HighLevelILInstructionAccessor< HLIL_TEST_BIT > struct  HighLevelILInstructionAccessor< HLIL_ADD_OVERFLOW > struct  HighLevelILInstructionAccessor< HLIL_FADD > struct  HighLevelILInstructionAccessor< HLIL_FSUB > struct  HighLevelILInstructionAccessor< HLIL_FMUL > struct  HighLevelILInstructionAccessor< HLIL_FDIV > struct  HighLevelILInstructionAccessor< HLIL_FCMP_E > struct  HighLevelILInstructionAccessor< HLIL_FCMP_NE > struct  HighLevelILInstructionAccessor< HLIL_FCMP_LT > struct  HighLevelILInstructionAccessor< HLIL_FCMP_LE > struct  HighLevelILInstructionAccessor< HLIL_FCMP_GE > struct  HighLevelILInstructionAccessor< HLIL_FCMP_GT > struct  HighLevelILInstructionAccessor< HLIL_FCMP_O > struct  HighLevelILInstructionAccessor< HLIL_FCMP_UO > struct  HighLevelILInstructionAccessor< HLIL_ADC > struct  HighLevelILInstructionAccessor< HLIL_SBB > struct  HighLevelILInstructionAccessor< HLIL_RLC > struct  HighLevelILInstructionAccessor< HLIL_RRC > struct  HighLevelILInstructionAccessor< HLIL_DEREF > struct  HighLevelILInstructionAccessor< HLIL_ADDRESS_OF > struct  HighLevelILInstructionAccessor< HLIL_NEG > struct  HighLevelILInstructionAccessor< HLIL_NOT > struct  HighLevelILInstructionAccessor< HLIL_SX > struct  HighLevelILInstructionAccessor< HLIL_ZX > struct  HighLevelILInstructionAccessor< HLIL_LOW_PART > struct  HighLevelILInstructionAccessor< HLIL_BOOL_TO_INT > struct  HighLevelILInstructionAccessor< HLIL_UNIMPL_MEM > struct  HighLevelILInstructionAccessor< HLIL_FSQRT > struct  HighLevelILInstructionAccessor< HLIL_FNEG > struct  HighLevelILInstructionAccessor< HLIL_FABS > struct  HighLevelILInstructionAccessor< HLIL_FLOAT_TO_INT > struct  HighLevelILInstructionAccessor< HLIL_INT_TO_FLOAT > struct  HighLevelILInstructionAccessor< HLIL_FLOAT_CONV > struct  HighLevelILInstructionAccessor< HLIL_ROUND_TO_INT > struct  HighLevelILInstructionAccessor< HLIL_FLOOR > struct  HighLevelILInstructionAccessor< HLIL_CEIL > struct  HighLevelILInstructionAccessor< HLIL_FTRUNC > struct  LowLevelILInstructionAccessor struct  RegisterOrFlag struct  SSARegister struct  SSARegisterStack struct  SSAFlag struct  SSARegisterOrFlag class  LowLevelILInstructionAccessException class  LowLevelILIntegerList class  LowLevelILIndexList class  LowLevelILIndexMap class  LowLevelILInstructionList class  LowLevelILRegisterOrFlagList class  LowLevelILSSARegisterList class  LowLevelILSSARegisterStackList class  LowLevelILSSAFlagList class  LowLevelILSSARegisterOrFlagList struct  LowLevelILInstructionBase struct  LowLevelILInstruction class  LowLevelILOperand class  LowLevelILOperandList struct  LowLevelILConstantInstruction struct  LowLevelILOffsetInstruction struct  LowLevelILOneOperandInstruction struct  LowLevelILTwoOperandInstruction struct  LowLevelILTwoOperandWithCarryInstruction struct  LowLevelILInstructionAccessor< LLIL_SET_REG > struct  LowLevelILInstructionAccessor< LLIL_SET_REG_SPLIT > struct  LowLevelILInstructionAccessor< LLIL_SET_REG_SSA > struct  LowLevelILInstructionAccessor< LLIL_SET_REG_SSA_PARTIAL > struct  LowLevelILInstructionAccessor< LLIL_SET_REG_SPLIT_SSA > struct  LowLevelILInstructionAccessor< LLIL_SET_REG_STACK_REL > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_PUSH > struct  LowLevelILInstructionAccessor< LLIL_SET_REG_STACK_REL_SSA > struct  LowLevelILInstructionAccessor< LLIL_SET_REG_STACK_ABS_SSA > struct  LowLevelILInstructionAccessor< LLIL_FORCE_VER > struct  LowLevelILInstructionAccessor< LLIL_FORCE_VER_SSA > struct  LowLevelILInstructionAccessor< LLIL_ASSERT > struct  LowLevelILInstructionAccessor< LLIL_ASSERT_SSA > struct  LowLevelILInstructionAccessor< LLIL_SET_FLAG > struct  LowLevelILInstructionAccessor< LLIL_SET_FLAG_SSA > struct  LowLevelILInstructionAccessor< LLIL_LOAD > struct  LowLevelILInstructionAccessor< LLIL_LOAD_SSA > struct  LowLevelILInstructionAccessor< LLIL_STORE > struct  LowLevelILInstructionAccessor< LLIL_STORE_SSA > struct  LowLevelILInstructionAccessor< LLIL_REG > struct  LowLevelILInstructionAccessor< LLIL_REG_SSA > struct  LowLevelILInstructionAccessor< LLIL_REG_SSA_PARTIAL > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_REL > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_POP > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_FREE_REG > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_FREE_REL > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_REL_SSA > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_ABS_SSA > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_FREE_REL_SSA > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_FREE_ABS_SSA > struct  LowLevelILInstructionAccessor< LLIL_FLAG > struct  LowLevelILInstructionAccessor< LLIL_FLAG_BIT > struct  LowLevelILInstructionAccessor< LLIL_FLAG_SSA > struct  LowLevelILInstructionAccessor< LLIL_FLAG_BIT_SSA > struct  LowLevelILInstructionAccessor< LLIL_REG_SPLIT > struct  LowLevelILInstructionAccessor< LLIL_REG_SPLIT_SSA > struct  LowLevelILInstructionAccessor< LLIL_JUMP > struct  LowLevelILInstructionAccessor< LLIL_JUMP_TO > struct  LowLevelILInstructionAccessor< LLIL_CALL > struct  LowLevelILInstructionAccessor< LLIL_CALL_STACK_ADJUST > struct  LowLevelILInstructionAccessor< LLIL_TAILCALL > struct  LowLevelILInstructionAccessor< LLIL_RET > struct  LowLevelILInstructionAccessor< LLIL_IF > struct  LowLevelILInstructionAccessor< LLIL_GOTO > struct  LowLevelILInstructionAccessor< LLIL_FLAG_COND > struct  LowLevelILInstructionAccessor< LLIL_FLAG_GROUP > struct  LowLevelILInstructionAccessor< LLIL_TRAP > struct  LowLevelILInstructionAccessor< LLIL_CALL_SSA > struct  LowLevelILInstructionAccessor< LLIL_SYSCALL_SSA > struct  LowLevelILInstructionAccessor< LLIL_TAILCALL_SSA > struct  LowLevelILInstructionAccessor< LLIL_INTRINSIC > struct  LowLevelILInstructionAccessor< LLIL_INTRINSIC_SSA > struct  LowLevelILInstructionAccessor< LLIL_MEMORY_INTRINSIC_SSA > struct  LowLevelILInstructionAccessor< LLIL_SEPARATE_PARAM_LIST_SSA > struct  LowLevelILInstructionAccessor< LLIL_SHARED_PARAM_SLOT_SSA > struct  LowLevelILInstructionAccessor< LLIL_REG_PHI > struct  LowLevelILInstructionAccessor< LLIL_REG_STACK_PHI > struct  LowLevelILInstructionAccessor< LLIL_FLAG_PHI > struct  LowLevelILInstructionAccessor< LLIL_MEM_PHI > struct  LowLevelILInstructionAccessor< LLIL_EXTERN_PTR > struct  LowLevelILInstructionAccessor< LLIL_NOP > struct  LowLevelILInstructionAccessor< LLIL_POP > struct  LowLevelILInstructionAccessor< LLIL_NORET > struct  LowLevelILInstructionAccessor< LLIL_SYSCALL > struct  LowLevelILInstructionAccessor< LLIL_BP > struct  LowLevelILInstructionAccessor< LLIL_UNDEF > struct  LowLevelILInstructionAccessor< LLIL_UNIMPL > struct  LowLevelILInstructionAccessor< LLIL_CONST > struct  LowLevelILInstructionAccessor< LLIL_CONST_PTR > struct  LowLevelILInstructionAccessor< LLIL_FLOAT_CONST > struct  LowLevelILInstructionAccessor< LLIL_ADD > struct  LowLevelILInstructionAccessor< LLIL_SUB > struct  LowLevelILInstructionAccessor< LLIL_AND > struct  LowLevelILInstructionAccessor< LLIL_OR > struct  LowLevelILInstructionAccessor< LLIL_XOR > struct  LowLevelILInstructionAccessor< LLIL_LSL > struct  LowLevelILInstructionAccessor< LLIL_LSR > struct  LowLevelILInstructionAccessor< LLIL_ASR > struct  LowLevelILInstructionAccessor< LLIL_ROL > struct  LowLevelILInstructionAccessor< LLIL_ROR > struct  LowLevelILInstructionAccessor< LLIL_MUL > struct  LowLevelILInstructionAccessor< LLIL_MULU_DP > struct  LowLevelILInstructionAccessor< LLIL_MULS_DP > struct  LowLevelILInstructionAccessor< LLIL_DIVU > struct  LowLevelILInstructionAccessor< LLIL_DIVS > struct  LowLevelILInstructionAccessor< LLIL_MODU > struct  LowLevelILInstructionAccessor< LLIL_MODS > struct  LowLevelILInstructionAccessor< LLIL_DIVU_DP > struct  LowLevelILInstructionAccessor< LLIL_DIVS_DP > struct  LowLevelILInstructionAccessor< LLIL_MODU_DP > struct  LowLevelILInstructionAccessor< LLIL_MODS_DP > struct  LowLevelILInstructionAccessor< LLIL_CMP_E > struct  LowLevelILInstructionAccessor< LLIL_CMP_NE > struct  LowLevelILInstructionAccessor< LLIL_CMP_SLT > struct  LowLevelILInstructionAccessor< LLIL_CMP_ULT > struct  LowLevelILInstructionAccessor< LLIL_CMP_SLE > struct  LowLevelILInstructionAccessor< LLIL_CMP_ULE > struct  LowLevelILInstructionAccessor< LLIL_CMP_SGE > struct  LowLevelILInstructionAccessor< LLIL_CMP_UGE > struct  LowLevelILInstructionAccessor< LLIL_CMP_SGT > struct  LowLevelILInstructionAccessor< LLIL_CMP_UGT > struct  LowLevelILInstructionAccessor< LLIL_TEST_BIT > struct  LowLevelILInstructionAccessor< LLIL_ADD_OVERFLOW > struct  LowLevelILInstructionAccessor< LLIL_FADD > struct  LowLevelILInstructionAccessor< LLIL_FSUB > struct  LowLevelILInstructionAccessor< LLIL_FMUL > struct  LowLevelILInstructionAccessor< LLIL_FDIV > struct  LowLevelILInstructionAccessor< LLIL_FCMP_E > struct  LowLevelILInstructionAccessor< LLIL_FCMP_NE > struct  LowLevelILInstructionAccessor< LLIL_FCMP_LT > struct  LowLevelILInstructionAccessor< LLIL_FCMP_LE > struct  LowLevelILInstructionAccessor< LLIL_FCMP_GE > struct  LowLevelILInstructionAccessor< LLIL_FCMP_GT > struct  LowLevelILInstructionAccessor< LLIL_FCMP_O > struct  LowLevelILInstructionAccessor< LLIL_FCMP_UO > struct  LowLevelILInstructionAccessor< LLIL_ADC > struct  LowLevelILInstructionAccessor< LLIL_SBB > struct  LowLevelILInstructionAccessor< LLIL_RLC > struct  LowLevelILInstructionAccessor< LLIL_RRC > struct  LowLevelILInstructionAccessor< LLIL_PUSH > struct  LowLevelILInstructionAccessor< LLIL_NEG > struct  LowLevelILInstructionAccessor< LLIL_NOT > struct  LowLevelILInstructionAccessor< LLIL_SX > struct  LowLevelILInstructionAccessor< LLIL_ZX > struct  LowLevelILInstructionAccessor< LLIL_LOW_PART > struct  LowLevelILInstructionAccessor< LLIL_BOOL_TO_INT > struct  LowLevelILInstructionAccessor< LLIL_UNIMPL_MEM > struct  LowLevelILInstructionAccessor< LLIL_FSQRT > struct  LowLevelILInstructionAccessor< LLIL_FNEG > struct  LowLevelILInstructionAccessor< LLIL_FABS > struct  LowLevelILInstructionAccessor< LLIL_FLOAT_TO_INT > struct  LowLevelILInstructionAccessor< LLIL_INT_TO_FLOAT > struct  LowLevelILInstructionAccessor< LLIL_FLOAT_CONV > struct  LowLevelILInstructionAccessor< LLIL_ROUND_TO_INT > struct  LowLevelILInstructionAccessor< LLIL_FLOOR > struct  LowLevelILInstructionAccessor< LLIL_CEIL > struct  LowLevelILInstructionAccessor< LLIL_FTRUNC > struct  MediumLevelILInstructionAccessor struct  SSAVariable class  MediumLevelILInstructionAccessException class  MediumLevelILIntegerList class  MediumLevelILIndexList class  MediumLevelILIndexMap class  MediumLevelILVariableList class  MediumLevelILSSAVariableList class  MediumLevelILInstructionList struct  MediumLevelILInstructionBase struct  MediumLevelILInstruction class  MediumLevelILOperand class  MediumLevelILOperandList struct  MediumLevelILConstantInstruction struct  MediumLevelILConstantDataInstruction struct  MediumLevelILOneOperandInstruction struct  MediumLevelILTwoOperandInstruction struct  MediumLevelILTwoOperandWithCarryInstruction struct  MediumLevelILInstructionAccessor< MLIL_SET_VAR > struct  MediumLevelILInstructionAccessor< MLIL_SET_VAR_FIELD > struct  MediumLevelILInstructionAccessor< MLIL_SET_VAR_SPLIT > struct  MediumLevelILInstructionAccessor< MLIL_SET_VAR_SSA > struct  MediumLevelILInstructionAccessor< MLIL_SET_VAR_SSA_FIELD > struct  MediumLevelILInstructionAccessor< MLIL_SET_VAR_SPLIT_SSA > struct  MediumLevelILInstructionAccessor< MLIL_SET_VAR_ALIASED > struct  MediumLevelILInstructionAccessor< MLIL_SET_VAR_ALIASED_FIELD > struct  MediumLevelILInstructionAccessor< MLIL_FORCE_VER > struct  MediumLevelILInstructionAccessor< MLIL_FORCE_VER_SSA > struct  MediumLevelILInstructionAccessor< MLIL_ASSERT > struct  MediumLevelILInstructionAccessor< MLIL_ASSERT_SSA > struct  MediumLevelILInstructionAccessor< MLIL_LOAD > struct  MediumLevelILInstructionAccessor< MLIL_LOAD_STRUCT > struct  MediumLevelILInstructionAccessor< MLIL_LOAD_SSA > struct  MediumLevelILInstructionAccessor< MLIL_LOAD_STRUCT_SSA > struct  MediumLevelILInstructionAccessor< MLIL_STORE > struct  MediumLevelILInstructionAccessor< MLIL_STORE_STRUCT > struct  MediumLevelILInstructionAccessor< MLIL_STORE_SSA > struct  MediumLevelILInstructionAccessor< MLIL_STORE_STRUCT_SSA > struct  MediumLevelILInstructionAccessor< MLIL_VAR > struct  MediumLevelILInstructionAccessor< MLIL_VAR_FIELD > struct  MediumLevelILInstructionAccessor< MLIL_VAR_SPLIT > struct  MediumLevelILInstructionAccessor< MLIL_VAR_SSA > struct  MediumLevelILInstructionAccessor< MLIL_VAR_SSA_FIELD > struct  MediumLevelILInstructionAccessor< MLIL_VAR_ALIASED > struct  MediumLevelILInstructionAccessor< MLIL_VAR_ALIASED_FIELD > struct  MediumLevelILInstructionAccessor< MLIL_VAR_SPLIT_SSA > struct  MediumLevelILInstructionAccessor< MLIL_ADDRESS_OF > struct  MediumLevelILInstructionAccessor< MLIL_ADDRESS_OF_FIELD > struct  MediumLevelILInstructionAccessor< MLIL_JUMP > struct  MediumLevelILInstructionAccessor< MLIL_JUMP_TO > struct  MediumLevelILInstructionAccessor< MLIL_RET_HINT > struct  MediumLevelILInstructionAccessor< MLIL_CALL > struct  MediumLevelILInstructionAccessor< MLIL_CALL_UNTYPED > struct  MediumLevelILInstructionAccessor< MLIL_SYSCALL > struct  MediumLevelILInstructionAccessor< MLIL_SYSCALL_UNTYPED > struct  MediumLevelILInstructionAccessor< MLIL_TAILCALL > struct  MediumLevelILInstructionAccessor< MLIL_TAILCALL_UNTYPED > struct  MediumLevelILInstructionAccessor< MLIL_SEPARATE_PARAM_LIST > struct  MediumLevelILInstructionAccessor< MLIL_SHARED_PARAM_SLOT > struct  MediumLevelILInstructionAccessor< MLIL_CALL_SSA > struct  MediumLevelILInstructionAccessor< MLIL_CALL_UNTYPED_SSA > struct  MediumLevelILInstructionAccessor< MLIL_SYSCALL_SSA > struct  MediumLevelILInstructionAccessor< MLIL_SYSCALL_UNTYPED_SSA > struct  MediumLevelILInstructionAccessor< MLIL_TAILCALL_SSA > struct  MediumLevelILInstructionAccessor< MLIL_TAILCALL_UNTYPED_SSA > struct  MediumLevelILInstructionAccessor< MLIL_RET > struct  MediumLevelILInstructionAccessor< MLIL_IF > struct  MediumLevelILInstructionAccessor< MLIL_GOTO > struct  MediumLevelILInstructionAccessor< MLIL_INTRINSIC > struct  MediumLevelILInstructionAccessor< MLIL_INTRINSIC_SSA > struct  MediumLevelILInstructionAccessor< MLIL_MEMORY_INTRINSIC_SSA > struct  MediumLevelILInstructionAccessor< MLIL_FREE_VAR_SLOT > struct  MediumLevelILInstructionAccessor< MLIL_FREE_VAR_SLOT_SSA > struct  MediumLevelILInstructionAccessor< MLIL_TRAP > struct  MediumLevelILInstructionAccessor< MLIL_VAR_PHI > struct  MediumLevelILInstructionAccessor< MLIL_MEM_PHI > struct  MediumLevelILInstructionAccessor< MLIL_EXTERN_PTR > struct  MediumLevelILInstructionAccessor< MLIL_NOP > struct  MediumLevelILInstructionAccessor< MLIL_NORET > struct  MediumLevelILInstructionAccessor< MLIL_BP > struct  MediumLevelILInstructionAccessor< MLIL_UNDEF > struct  MediumLevelILInstructionAccessor< MLIL_UNIMPL > struct  MediumLevelILInstructionAccessor< MLIL_CONST > struct  MediumLevelILInstructionAccessor< MLIL_CONST_PTR > struct  MediumLevelILInstructionAccessor< MLIL_FLOAT_CONST > struct  MediumLevelILInstructionAccessor< MLIL_IMPORT > struct  MediumLevelILInstructionAccessor< MLIL_CONST_DATA > struct  MediumLevelILInstructionAccessor< MLIL_ADD > struct  MediumLevelILInstructionAccessor< MLIL_SUB > struct  MediumLevelILInstructionAccessor< MLIL_AND > struct  MediumLevelILInstructionAccessor< MLIL_OR > struct  MediumLevelILInstructionAccessor< MLIL_XOR > struct  MediumLevelILInstructionAccessor< MLIL_LSL > struct  MediumLevelILInstructionAccessor< MLIL_LSR > struct  MediumLevelILInstructionAccessor< MLIL_ASR > struct  MediumLevelILInstructionAccessor< MLIL_ROL > struct  MediumLevelILInstructionAccessor< MLIL_ROR > struct  MediumLevelILInstructionAccessor< MLIL_MUL > struct  MediumLevelILInstructionAccessor< MLIL_MULU_DP > struct  MediumLevelILInstructionAccessor< MLIL_MULS_DP > struct  MediumLevelILInstructionAccessor< MLIL_DIVU > struct  MediumLevelILInstructionAccessor< MLIL_DIVS > struct  MediumLevelILInstructionAccessor< MLIL_MODU > struct  MediumLevelILInstructionAccessor< MLIL_MODS > struct  MediumLevelILInstructionAccessor< MLIL_DIVU_DP > struct  MediumLevelILInstructionAccessor< MLIL_DIVS_DP > struct  MediumLevelILInstructionAccessor< MLIL_MODU_DP > struct  MediumLevelILInstructionAccessor< MLIL_MODS_DP > struct  MediumLevelILInstructionAccessor< MLIL_CMP_E > struct  MediumLevelILInstructionAccessor< MLIL_CMP_NE > struct  MediumLevelILInstructionAccessor< MLIL_CMP_SLT > struct  MediumLevelILInstructionAccessor< MLIL_CMP_ULT > struct  MediumLevelILInstructionAccessor< MLIL_CMP_SLE > struct  MediumLevelILInstructionAccessor< MLIL_CMP_ULE > struct  MediumLevelILInstructionAccessor< MLIL_CMP_SGE > struct  MediumLevelILInstructionAccessor< MLIL_CMP_UGE > struct  MediumLevelILInstructionAccessor< MLIL_CMP_SGT > struct  MediumLevelILInstructionAccessor< MLIL_CMP_UGT > struct  MediumLevelILInstructionAccessor< MLIL_TEST_BIT > struct  MediumLevelILInstructionAccessor< MLIL_ADD_OVERFLOW > struct  MediumLevelILInstructionAccessor< MLIL_FADD > struct  MediumLevelILInstructionAccessor< MLIL_FSUB > struct  MediumLevelILInstructionAccessor< MLIL_FMUL > struct  MediumLevelILInstructionAccessor< MLIL_FDIV > struct  MediumLevelILInstructionAccessor< MLIL_FCMP_E > struct  MediumLevelILInstructionAccessor< MLIL_FCMP_NE > struct  MediumLevelILInstructionAccessor< MLIL_FCMP_LT > struct  MediumLevelILInstructionAccessor< MLIL_FCMP_LE > struct  MediumLevelILInstructionAccessor< MLIL_FCMP_GE > struct  MediumLevelILInstructionAccessor< MLIL_FCMP_GT > struct  MediumLevelILInstructionAccessor< MLIL_FCMP_O > struct  MediumLevelILInstructionAccessor< MLIL_FCMP_UO > struct  MediumLevelILInstructionAccessor< MLIL_ADC > struct  MediumLevelILInstructionAccessor< MLIL_SBB > struct  MediumLevelILInstructionAccessor< MLIL_RLC > struct  MediumLevelILInstructionAccessor< MLIL_RRC > struct  MediumLevelILInstructionAccessor< MLIL_NEG > struct  MediumLevelILInstructionAccessor< MLIL_NOT > struct  MediumLevelILInstructionAccessor< MLIL_SX > struct  MediumLevelILInstructionAccessor< MLIL_ZX > struct  MediumLevelILInstructionAccessor< MLIL_LOW_PART > struct  MediumLevelILInstructionAccessor< MLIL_BOOL_TO_INT > struct  MediumLevelILInstructionAccessor< MLIL_UNIMPL_MEM > struct  MediumLevelILInstructionAccessor< MLIL_FSQRT > struct  MediumLevelILInstructionAccessor< MLIL_FNEG > struct  MediumLevelILInstructionAccessor< MLIL_FABS > struct  MediumLevelILInstructionAccessor< MLIL_FLOAT_TO_INT > struct  MediumLevelILInstructionAccessor< MLIL_INT_TO_FLOAT > struct  MediumLevelILInstructionAccessor< MLIL_FLOAT_CONV > struct  MediumLevelILInstructionAccessor< MLIL_ROUND_TO_INT > struct  MediumLevelILInstructionAccessor< MLIL_FLOOR > struct  MediumLevelILInstructionAccessor< MLIL_CEIL > struct  MediumLevelILInstructionAccessor< MLIL_FTRUNC > struct  UpdateProgress

Enumerations

enum  ReferenceType {
  UnspecifiedReferenceType = 0x0 , ReadReferenceType = 0x1 , WriteReferenceType = 0x2 , ExecuteReferenceType = 0x4 ,
  DataVariableReferenceType = 0x8 , DirectTypeReferenceType = 0x10 , IndirectTypeReferenceType = 0x20
} enum  HighLevelILOperandType {
  IntegerHighLevelOperand , ConstantDataHighLevelOperand , IndexHighLevelOperand , IntrinsicHighLevelOperand ,
  ExprHighLevelOperand , VariableHighLevelOperand , SSAVariableHighLevelOperand , ExprListHighLevelOperand ,
  SSAVariableListHighLevelOperand , IndexListHighLevelOperand
} enum  HighLevelILOperandUsage {
  SourceExprHighLevelOperandUsage , VariableHighLevelOperandUsage , DestVariableHighLevelOperandUsage , SSAVariableHighLevelOperandUsage ,
  DestSSAVariableHighLevelOperandUsage , DestExprHighLevelOperandUsage , LeftExprHighLevelOperandUsage , RightExprHighLevelOperandUsage ,
  CarryExprHighLevelOperandUsage , IndexExprHighLevelOperandUsage , ConditionExprHighLevelOperandUsage , ConditionPhiExprHighLevelOperandUsage ,
  TrueExprHighLevelOperandUsage , FalseExprHighLevelOperandUsage , LoopExprHighLevelOperandUsage , InitExprHighLevelOperandUsage ,
  UpdateExprHighLevelOperandUsage , DefaultExprHighLevelOperandUsage , HighExprHighLevelOperandUsage , LowExprHighLevelOperandUsage ,
  OffsetHighLevelOperandUsage , MemberIndexHighLevelOperandUsage , ConstantHighLevelOperandUsage , ConstantDataHighLevelOperandUsage ,
  VectorHighLevelOperandUsage , IntrinsicHighLevelOperandUsage , TargetHighLevelOperandUsage , ParameterExprsHighLevelOperandUsage ,
  SourceExprsHighLevelOperandUsage , DestExprsHighLevelOperandUsage , BlockExprsHighLevelOperandUsage , CasesHighLevelOperandUsage ,
  ValueExprsHighLevelOperandUsage , SourceSSAVariablesHighLevelOperandUsage , SourceMemoryVersionHighLevelOperandUsage , SourceMemoryVersionsHighLevelOperandUsage ,
  DestMemoryVersionHighLevelOperandUsage
} enum  LowLevelILOperandType {
  IntegerLowLevelOperand , IndexLowLevelOperand , ExprLowLevelOperand , RegisterLowLevelOperand ,
  RegisterStackLowLevelOperand , FlagLowLevelOperand , FlagConditionLowLevelOperand , IntrinsicLowLevelOperand ,
  SemanticFlagClassLowLevelOperand , SemanticFlagGroupLowLevelOperand , SSARegisterLowLevelOperand , SSARegisterStackLowLevelOperand ,
  SSAFlagLowLevelOperand , IndexListLowLevelOperand , IndexMapLowLevelOperand , ExprListLowLevelOperand ,
  RegisterOrFlagListLowLevelOperand , SSARegisterListLowLevelOperand , SSARegisterStackListLowLevelOperand , SSAFlagListLowLevelOperand ,
  SSARegisterOrFlagListLowLevelOperand , RegisterStackAdjustmentsLowLevelOperand , ConstraintLowLevelOperand
} enum  LowLevelILOperandUsage {
  SourceExprLowLevelOperandUsage , SourceRegisterLowLevelOperandUsage , SourceRegisterStackLowLevelOperandUsage , SourceFlagLowLevelOperandUsage ,
  SourceSSARegisterLowLevelOperandUsage , SourceSSARegisterStackLowLevelOperandUsage , SourceSSAFlagLowLevelOperandUsage , DestExprLowLevelOperandUsage ,
  DestRegisterLowLevelOperandUsage , DestRegisterStackLowLevelOperandUsage , DestFlagLowLevelOperandUsage , DestSSARegisterLowLevelOperandUsage ,
  DestSSARegisterStackLowLevelOperandUsage , DestSSAFlagLowLevelOperandUsage , SemanticFlagClassLowLevelOperandUsage , SemanticFlagGroupLowLevelOperandUsage ,
  PartialRegisterLowLevelOperandUsage , PartialSSARegisterStackSourceLowLevelOperandUsage , StackSSARegisterLowLevelOperandUsage , StackMemoryVersionLowLevelOperandUsage ,
  TopSSARegisterLowLevelOperandUsage , LeftExprLowLevelOperandUsage , RightExprLowLevelOperandUsage , CarryExprLowLevelOperandUsage ,
  ConditionExprLowLevelOperandUsage , HighRegisterLowLevelOperandUsage , HighSSARegisterLowLevelOperandUsage , LowRegisterLowLevelOperandUsage ,
  LowSSARegisterLowLevelOperandUsage , IntrinsicLowLevelOperandUsage , ConstantLowLevelOperandUsage , VectorLowLevelOperandUsage ,
  StackAdjustmentLowLevelOperandUsage , TargetLowLevelOperandUsage , TrueTargetLowLevelOperandUsage , FalseTargetLowLevelOperandUsage ,
  BitIndexLowLevelOperandUsage , SourceMemoryVersionLowLevelOperandUsage , DestMemoryVersionLowLevelOperandUsage , FlagConditionLowLevelOperandUsage ,
  OutputSSARegistersLowLevelOperandUsage , OutputMemoryVersionLowLevelOperandUsage , ParameterExprsLowLevelOperandUsage , SourceSSARegistersLowLevelOperandUsage ,
  SourceSSARegisterStacksLowLevelOperandUsage , SourceSSAFlagsLowLevelOperandUsage , OutputRegisterOrFlagListLowLevelOperandUsage , OutputSSARegisterOrFlagListLowLevelOperandUsage ,
  OutputMemoryIntrinsicLowLevelOperandUsage , SourceMemoryVersionsLowLevelOperandUsage , TargetsLowLevelOperandUsage , RegisterStackAdjustmentsLowLevelOperandUsage ,
  OffsetLowLevelOperandUsage , ConstraintLowLevelOperandUsage
} enum  MediumLevelILOperandType {
  IntegerMediumLevelOperand , ConstantDataMediumLevelOperand , IndexMediumLevelOperand , IntrinsicMediumLevelOperand ,
  ExprMediumLevelOperand , VariableMediumLevelOperand , SSAVariableMediumLevelOperand , IndexListMediumLevelOperand ,
  IndexMapMediumLevelOperand , VariableListMediumLevelOperand , SSAVariableListMediumLevelOperand , ExprListMediumLevelOperand ,
  ConstraintMediumLevelOperand
} enum  MediumLevelILOperandUsage {
  SourceExprMediumLevelOperandUsage , SourceVariableMediumLevelOperandUsage , SourceSSAVariableMediumLevelOperandUsage , PartialSSAVariableSourceMediumLevelOperandUsage ,
  DestExprMediumLevelOperandUsage , DestVariableMediumLevelOperandUsage , DestSSAVariableMediumLevelOperandUsage , LeftExprMediumLevelOperandUsage ,
  RightExprMediumLevelOperandUsage , CarryExprMediumLevelOperandUsage , StackExprMediumLevelOperandUsage , ConditionExprMediumLevelOperandUsage ,
  HighVariableMediumLevelOperandUsage , LowVariableMediumLevelOperandUsage , HighSSAVariableMediumLevelOperandUsage , LowSSAVariableMediumLevelOperandUsage ,
  OffsetMediumLevelOperandUsage , ConstantMediumLevelOperandUsage , ConstantDataMediumLevelOperandUsage , VectorMediumLevelOperandUsage ,
  IntrinsicMediumLevelOperandUsage , TargetMediumLevelOperandUsage , TrueTargetMediumLevelOperandUsage , FalseTargetMediumLevelOperandUsage ,
  DestMemoryVersionMediumLevelOperandUsage , SourceMemoryVersionMediumLevelOperandUsage , TargetsMediumLevelOperandUsage , SourceMemoryVersionsMediumLevelOperandUsage ,
  OutputVariablesMediumLevelOperandUsage , OutputVariablesSubExprMediumLevelOperandUsage , OutputSSAVariablesMediumLevelOperandUsage , OutputSSAVariablesSubExprMediumLevelOperandUsage ,
  OutputSSAMemoryVersionMediumLevelOperandUsage , ParameterExprsMediumLevelOperandUsage , SourceExprsMediumLevelOperandUsage , UntypedParameterExprsMediumLevelOperandUsage ,
  UntypedParameterSSAExprsMediumLevelOperandUsage , ParameterSSAMemoryVersionMediumLevelOperandUsage , SourceSSAVariablesMediumLevelOperandUsages , ConstraintMediumLevelOperandUsage
}

Functions

template<class T> bool operator== (T *a, const Ref< T > &b) template<class T> bool operator!= (T *a, const Ref< T > &b) template<class T> bool operator< (T *a, const Ref< T > &b) template<class T> bool operator== (T *a, const CallbackRef< T > &b) template<class T> bool operator!= (T *a, const CallbackRef< T > &b) template<class T> bool operator< (T *a, const CallbackRef< T > &b) void Log (BNLogLevel level, const char *fmt,...)  Logs to the error console with the given BNLogLevel.
void LogTrace (const char *fmt,...)  LogTrace only writes text to the error console if the console is set to log level: DebugLog Log level and the build is not a DEBUG build (i.e.
void LogDebug (const char *fmt,...)  LogDebug only writes text to the error console if the console is set to log level: DebugLog Log level DebugLog is the most verbose logging level in release builds.
void LogInfo (const char *fmt,...)  LogInfo always writes text to the error console, and corresponds to the log level: InfoLog.
void LogWarn (const char *fmt,...)  LogWarn writes text to the error console including a warning icon, and also shows a warning icon in the bottom pane.
void LogError (const char *fmt,...)  LogError writes text to the error console and pops up the error console.
void LogAlert (const char *fmt,...)  LogAlert pops up a message box displaying the alert message and logs to the error console.
void LogForException (BNLogLevel level, const std::exception &e, const char *fmt,...)  Logs to the error console with the given BNLogLevel.
void LogTraceForException (const std::exception &e, const char *fmt,...)  LogTraceForException only writes text to the error console if the console is set to log level: DebugLog Log level and the build is not a DEBUG build (i.e.
void LogDebugForException (const std::exception &e, const char *fmt,...)  LogDebugForException only writes text to the error console if the console is set to log level: DebugLog Log level DebugLog is the most verbose logging level in release builds.
void LogInfoForException (const std::exception &e, const char *fmt,...)  LogInfoForException always writes text to the error console, and corresponds to the log level: InfoLog.
void LogWarnForException (const std::exception &e, const char *fmt,...)  LogWarnForException writes text to the error console including a warning icon, and also shows a warning icon in the bottom pane.
void LogErrorForException (const std::exception &e, const char *fmt,...)  LogErrorForException writes text to the error console and pops up the error console.
void LogAlertForException (const std::exception &e, const char *fmt,...)  LogAlertForException pops up a message box displaying the alert message and logs to the error console.
void LogWithStackTrace (BNLogLevel level, const char *fmt,...)  Logs to the error console with the given BNLogLevel.
void LogTraceWithStackTrace (const char *fmt,...)  LogTraceWithStackTrace only writes text to the error console if the console is set to log level: DebugLog Log level and the build is not a DEBUG build (i.e.
void LogDebugWithStackTrace (const char *fmt,...)  LogDebugWithStackTrace only writes text to the error console if the console is set to log level: DebugLog Log level DebugLog is the most verbose logging level in release builds.
void LogInfoWithStackTrace (const char *fmt,...)  LogInfoWithStackTrace always writes text to the error console, and corresponds to the log level: InfoLog.
void LogWarnWithStackTrace (const char *fmt,...)  LogWarnWithStackTrace writes text to the error console including a warning icon, and also shows a warning icon in the bottom pane.
void LogErrorWithStackTrace (const char *fmt,...)  LogErrorWithStackTrace writes text to the error console and pops up the error console.
void LogAlertWithStackTrace (const char *fmt,...)  LogAlertWithStackTrace pops up a message box displaying the alert message and logs to the error console.
void LogFV (BNLogLevel level, fmt::string_view format, fmt::format_args args) void LogTraceFV (fmt::string_view format, fmt::format_args args) void LogForExceptionFV (BNLogLevel level, const std::exception &e, fmt::string_view format, fmt::format_args args) void LogTraceForExceptionFV (const std::exception &e, fmt::string_view format, fmt::format_args args) void LogWithStackTraceFV (BNLogLevel level, fmt::string_view format, fmt::format_args args) void LogTraceWithStackTraceFV (fmt::string_view format, fmt::format_args args) template<typename... T> void LogF (BNLogLevel level, fmt::format_string< T... > format, T &&... args)  Logs to the error console with the given BNLogLevel.
template<typename... T> void LogTraceF (fmt::format_string< T... > format, T &&... args)  LogTrace only writes text to the error console if the console is set to log level: DebugLog Log level and the build is not a DEBUG build (i.e.
template<typename... T> void LogDebugF (fmt::format_string< T... > format, T &&... args)  LogDebug only writes text to the error console if the console is set to log level: DebugLog Log level DebugLog is the most verbose logging level in release builds.
template<typename... T> void LogInfoF (fmt::format_string< T... > format, T &&... args)  LogInfo always writes text to the error console, and corresponds to the log level: InfoLog.
template<typename... T> void LogWarnF (fmt::format_string< T... > format, T &&... args)  LogWarn writes text to the error console including a warning icon, and also shows a warning icon in the bottom pane.
template<typename... T> void LogErrorF (fmt::format_string< T... > format, T &&... args)  LogError writes text to the error console and pops up the error console.
template<typename... T> void LogAlertF (fmt::format_string< T... > format, T &&... args)  LogAlert pops up a message box displaying the alert message and logs to the error console.
template<typename... T> void LogForExceptionF (BNLogLevel level, const std::exception &e, fmt::format_string< T... > format, T &&... args)  Logs to the error console with the given BNLogLevel.
template<typename... T> void LogTraceForExceptionF (const std::exception &e, fmt::format_string< T... > format, T &&... args)  LogTraceForExceptionF only writes text to the error console if the console is set to log level: DebugLog Log level and the build is not a DEBUG build (i.e.
template<typename... T> void LogDebugForExceptionF (const std::exception &e, fmt::format_string< T... > format, T &&... args)  LogDebugForExceptionF only writes text to the error console if the console is set to log level: DebugLog Log level DebugLog is the most verbose logging level in release builds.
template<typename... T> void LogInfoForExceptionF (const std::exception &e, fmt::format_string< T... > format, T &&... args)  LogInfoForExceptionF always writes text to the error console, and corresponds to the log level: InfoLog.
template<typename... T> void LogWarnForExceptionF (const std::exception &e, fmt::format_string< T... > format, T &&... args)  LogWarnForExceptionF writes text to the error console including a warning icon, and also shows a warning icon in the bottom pane.
template<typename... T> void LogErrorForExceptionF (const std::exception &e, fmt::format_string< T... > format, T &&... args)  LogErrorForExceptionF writes text to the error console and pops up the error console.
template<typename... T> void LogAlertForExceptionF (const std::exception &e, fmt::format_string< T... > format, T &&... args)  LogAlertForExceptionF pops up a message box displaying the alert message and logs to the error console.
template<typename... T> void LogWithStackTraceF (BNLogLevel level, fmt::format_string< T... > format, T &&... args)  Logs to the error console with the given BNLogLevel.
template<typename... T> void LogTraceWithStackTraceF (fmt::format_string< T... > format, T &&... args)  LogTraceWithStackTraceF only writes text to the error console if the console is set to log level: DebugLog Log level and the build is not a DEBUG build (i.e.
template<typename... T> void LogDebugWithStackTraceF (fmt::format_string< T... > format, T &&... args)  LogDebugWithStackTraceF only writes text to the error console if the console is set to log level: DebugLog Log level DebugLog is the most verbose logging level in release builds.
template<typename... T> void LogInfoWithStackTraceF (fmt::format_string< T... > format, T &&... args)  LogInfoWithStackTraceF always writes text to the error console, and corresponds to the log level: InfoLog.
template<typename... T> void LogWarnWithStackTraceF (fmt::format_string< T... > format, T &&... args)  LogWarnWithStackTraceF writes text to the error console including a warning icon, and also shows a warning icon in the bottom pane.
template<typename... T> void LogErrorWithStackTraceF (fmt::format_string< T... > format, T &&... args)  LogErrorWithStackTraceF writes text to the error console and pops up the error console.
template<typename... T> void LogAlertWithStackTraceF (fmt::format_string< T... > format, T &&... args)  LogAlertWithStackTraceF pops up a message box displaying the alert message and logs to the error console.
void LogToStdout (BNLogLevel minimumLevel)  Redirects the minimum level passed to standard out.
void LogToStderr (BNLogLevel minimumLevel)  Redirects the minimum level passed to standard error.
bool LogToFile (BNLogLevel minimumLevel, const std::string &path, bool append=false)  Redirects minimum log level to the file at `path`, optionally appending rather than overwriting.
void CloseLogs ()  Close all log files.
std::string EscapeString (const std::string &s) std::string UnescapeString (const std::string &s) bool PreprocessSource (const std::string &source, const std::string &fileName, std::string &output, std::string &errors, const std::vector< std::string > &includeDirs=std::vector< std::string >()) void DisablePlugins () bool IsPluginsEnabled () bool InitPlugins (bool allowUserPlugins=true) void InitCorePlugins () void InitUserPlugins () void InitRepoPlugins () std::string GetBundledPluginDirectory () void SetBundledPluginDirectory (const std::string &path) std::string GetUserDirectory () std::string GetSystemCacheDirectory ()  Get the Binary Ninja system cache directory.
std::string GetSettingsFileName () std::string GetRepositoriesDirectory () std::string GetInstallDirectory () std::string GetUserPluginDirectory () std::string GetPathRelativeToBundledPluginDirectory (const std::string &path) std::string GetPathRelativeToUserPluginDirectory (const std::string &path) std::string GetPathRelativeToUserDirectory (const std::string &path) bool ExecuteWorkerProcess (const std::string &path, const std::vector< std::string > &args, const DataBuffer &input, std::string &output, std::string &errors, bool stdoutIsText=false, bool stderrIsText=true) std::string GetVersionString () VersionInfo GetVersionInfo () VersionInfo ParseVersionString (const std::string &version) std::string GetLicensedUserEmail () std::string GetProduct () std::string GetProductType () std::string GetSerialNumber () int GetLicenseCount () bool IsUIEnabled () uint32_t GetBuildId () bool AreAutoUpdatesEnabled () void SetAutoUpdatesEnabled (bool enabled) uint64_t GetTimeSinceLastUpdateCheck () void UpdatesChecked () std::string GetActiveUpdateChannel () void SetActiveUpdateChannel (const std::string &channel) void SetCurrentPluginLoadOrder (BNPluginLoadOrder order) void AddRequiredPluginDependency (const std::string &name) void AddOptionalPluginDependency (const std::string &name) template<typename T> std::string CoreEnumName () template<typename T> std::optional< std::string > CoreEnumToString (T value) template<typename T> std::optional< T > CoreEnumFromString (const std::string &value) std::optional< size_t > FuzzyMatchSingle (const std::string &target, const std::string &query) bool DefaultProgressFunction (size_t, size_t) Ref< BinaryViewLoad (const std::string &filename, bool updateAnalysis=true, const std::string &options="{}", ProgressFunction progress={})  OpenView opens a file on disk and returns a BinaryView, attempting to use the most relevant BinaryViewType and generating default load options (which are overridable).
Ref< BinaryViewLoad (const DataBuffer &rawData, bool updateAnalysis=true, const std::string &options="{}", ProgressFunction progress={})  Open a BinaryView from a raw data buffer, initializing data views and loading settings.
Ref< BinaryViewLoad (Ref< BinaryView > rawData, bool updateAnalysis=true, const std::string &options="{}", ProgressFunction progress={})  Open a BinaryView from a raw BinaryView, initializing data views and loading settings.
Ref< BinaryViewLoad (Ref< ProjectFile > rawData, bool updateAnalysis=true, const std::string &options="{}", ProgressFunction progress={})  Open a BinaryView from a ProjectFile, initializing data views and loading settings.
Ref< BinaryViewParseTextFormat (const std::string &filename) Ref< BinaryViewLoad (const std::string &filename, bool updateAnalysis, ProgressFunction progress, Ref< Metadata > options=new Metadata(MetadataType::KeyValueDataType))  Deprecated.
Ref< BinaryViewLoad (const DataBuffer &rawData, bool updateAnalysis, ProgressFunction progress, Ref< Metadata > options=new Metadata(MetadataType::KeyValueDataType))  Deprecated.
Ref< BinaryViewLoad (Ref< BinaryView > rawData, bool updateAnalysis, ProgressFunction progress, Ref< Metadata > options=new Metadata(MetadataType::KeyValueDataType), bool isDatabase=false)  Deprecated.
bool DemangleGeneric (Ref< Architecture > arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, Ref< BinaryView > view=nullptr, const bool simplify=false)  Attempt to demangle a mangled name, trying all relevant demanglers and using whichever one accepts it.
bool DemangleLLVM (const std::string &mangledName, QualifiedName &outVarName, const bool simplify=false)  Demangles using LLVM's demangler.
bool DemangleLLVM (const std::string &mangledName, QualifiedName &outVarName, BinaryView *view)  Demangles using LLVM's demangler.
bool DemangleMS (Architecture *arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, const bool simplify=false)  Demangles a Microsoft Visual Studio C++ name.
bool DemangleMS (Architecture *arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, BinaryView *view)  Demangles a Microsoft Visual Studio C++ name.
bool DemangleGNU3 (Ref< Architecture > arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, const bool simplify=false)  Demangles a GNU3 name.
bool DemangleGNU3 (Ref< Architecture > arch, const std::string &mangledName, Ref< Type > &outType, QualifiedName &outVarName, BinaryView *view)  Demangles a GNU3 name.
bool IsGNU3MangledString (const std::string &mangledName)  Determines if a symbol name is a mangled GNU3 name.
std::string SimplifyToString (const std::string &input) std::string SimplifyToString (const QualifiedName &input) QualifiedName SimplifyToQualifiedName (const std::string &input, bool simplify) QualifiedName SimplifyToQualifiedName (const QualifiedName &input) void RegisterMainThread (MainThreadActionHandler *handler) Ref< MainThreadActionExecuteOnMainThread (const std::function< void()> &action) void ExecuteOnMainThreadAndWait (const std::function< void()> &action) bool IsMainThread () void WorkerEnqueue (const std::function< void()> &action, const std::string &name="") void WorkerEnqueue (RefCountObject *owner, const std::function< void()> &action, const std::string &name="") void WorkerPriorityEnqueue (const std::function< void()> &action, const std::string &name="") void WorkerPriorityEnqueue (RefCountObject *owner, const std::function< void()> &action, const std::string &name="") void WorkerInteractiveEnqueue (const std::function< void()> &action, const std::string &name="") void WorkerInteractiveEnqueue (RefCountObject *owner, const std::function< void()> &action, const std::string &name="") size_t GetWorkerThreadCount () void SetWorkerThreadCount (size_t count) std::string MarkdownToHTML (const std::string &contents) void RegisterInteractionHandler (InteractionHandler *handler) void ShowPlainTextReport (const std::string &title, const std::string &contents)  Displays contents to the user in the UI or on the command-line.
void ShowMarkdownReport (const std::string &title, const std::string &contents, const std::string &plainText="")  Displays markdown contents to the user in the UI or on the command-line.
void ShowHTMLReport (const std::string &title, const std::string &contents, const std::string &plainText="")  Displays HTML contents to the user in the UI or on the command-line.
void ShowGraphReport (const std::string &title, FlowGraph *graph)  Displays a flow graph in UI applications and nothing in command-line applications.
void ShowReportCollection (const std::string &title, ReportCollection *reports)  Show a collection of reports.
bool GetTextLineInput (std::string &result, const std::string &prompt, const std::string &title)  Prompts the user to input a string with the given prompt and title.
bool GetIntegerInput (int64_t &result, const std::string &prompt, const std::string &title)  Prompts the user to input an integer with the given prompt and title.
bool GetAddressInput (uint64_t &result, const std::string &prompt, const std::string &title)  Prompts the user to input an unsigned integer with the given prompt and title.
bool GetChoiceInput (size_t &idx, const std::string &prompt, const std::string &title, const std::vector< std::string > &choices)  Prompts the user to select the one of the provided choices.
bool GetLargeChoiceInput (size_t &idx, const std::string &title, const std::string &prompt, const std::vector< std::string > &choices)  Prompts the user to select the one of the provided choices out of a large list, with the option to filter choices.
bool GetOpenFileNameInput (std::string &result, const std::string &prompt, const std::string &ext="")  Prompts the user for a file name to open.
bool GetSaveFileNameInput (std::string &result, const std::string &prompt, const std::string &ext="", const std::string &defaultName="")  Prompts the user for a file name to save as, optionally providing a file extension and defaultName.
bool GetDirectoryNameInput (std::string &result, const std::string &prompt, const std::string &defaultName="")  Prompts the user for a directory name to save as, optionally providing a default_name.
bool GetCheckboxInput (int64_t &result, const std::string &prompt, const std::string &title, const int64_t &defaultChoice)  Prompts the user for a checkbox input.
bool GetFormInput (std::vector< FormInputField > &fields, const std::string &title)  Prompts the user for a set of inputs specified in `fields` with given title.
BNMessageBoxButtonResult ShowMessageBox (const std::string &title, const std::string &text, BNMessageBoxButtonSet buttons=OKButtonSet, BNMessageBoxIcon icon=InformationIcon)  Displays a configurable message box in the UI, or prompts on the console as appropriate.
bool OpenUrl (const std::string &url)  Opens a given url in the user's web browser, if available.
bool RunProgressDialog (const std::string &title, bool canCancel, std::function< void(ProgressFunction progress)> task)  Run a given task in a background thread, and show an updating progress bar which the user can cancel.
ProgressFunction SplitProgress (ProgressFunction originalFn, size_t subpart, size_t subpartCount)  Split a single progress function into equally sized subparts.
ProgressFunction SplitProgress (ProgressFunction originalFn, size_t subpart, std::vector< double > subpartWeights)  Split a single progress function into subparts.
bool ProgressCallback (void *ctxt, size_t current, size_t total) std::string GetUniqueIdentifierString () std::map< std::string, uint64_t > GetMemoryUsageInfo () void SetThreadName (const std::string &name) template<> std::string Settings::Get< std::string > (const std::string &key, Ref< Function > func, BNSettingsScope *scope) template<> std::vector< std::string > Settings::Get< std::vector< std::string > > (const std::string &key, Ref< Function > func, BNSettingsScope *scope) string SimplifyToString (const string &input) QualifiedName SimplifyToQualifiedName (const string &input, bool simplify) char * AllocApiString (const char *string) void AllocApiString (const char *string, char **output) char * AllocApiString (const std::string &string) void AllocApiString (const std::string &string, char **output) char ** AllocApiStringList (const char *const *stringList, size_t count) void AllocApiStringList (const char *const *stringList, size_t count, char ***output) char ** AllocApiStringList (const std::vector< std::string > &stringList, size_t *count) void AllocApiStringList (const std::vector< std::string > &stringList, char ***output, size_t *count) char ** AllocApiStringList (const std::set< std::string > &stringList, size_t *count) void AllocApiStringList (const std::set< std::string > &stringList, char ***output, size_t *count) char ** AllocApiStringList (const std::unordered_set< std::string > &stringList, size_t *count) void AllocApiStringList (const std::unordered_set< std::string > &stringList, char ***output, size_t *count) void AllocApiStringPairList (const std::vector< std::pair< std::string, std::string > > &stringPairList, char ***outputKeys, char ***outputValues, size_t *count) void AllocApiStringPairList (const std::map< std::string, std::string > &stringPairList, char ***outputKeys, char ***outputValues, size_t *count) void AllocApiStringPairList (const std::unordered_map< std::string, std::string > &stringPairList, char ***outputKeys, char ***outputValues, size_t *count) std::string ParseString (const char *string) std::vector< std::string > ParseStringList (const char *const *stringList, size_t count) std::set< std::string > ParseStringSet (const char *const *stringList, size_t count) std::unordered_set< std::string > ParseStringUnorderedSet (const char *const *stringList, size_t count) std::vector< std::pair< std::string, std::string > > ParseStringPairList (const char *const *keys, const char *const *values, size_t count) std::map< std::string, std::string > ParseStringMap (const char *const *keys, const char *const *values, size_t count) std::unordered_map< std::string, std::string > ParseStringUnorderedMap (const char *const *keys, const char *const *values, size_t count) void FreeApiString (char *string) void FreeApiStringList (char **stringList, size_t count) void FreeApiStringPairList (char **keys, char **values, size_t count) void FreeCoreString (char *string) void FreeCoreStringList (char **stringList, size_t count) void FreeCoreStringPairList (char **keys, char **values, size_t count) template<typename T, typename _ = std::enable_if_t<APIAble<T>::value, void>> void AllocAPIObjectList (const std::vector< T > &objects, typename APIAble< T >::TAPI **output, size_t *count) template<typename T, typename _ = std::enable_if_t<APIAble<T>::value, void>> APIAble< T >::TAPI * AllocAPIObjectList (const std::vector< T > &objects, size_t *count) template<typename T, typename _ = std::enable_if_t<APIAble<T>::value, void>> std::vector< T > ParseAPIObjectList (const typename APIAble< T >::TAPI *objects, size_t count) template<typename T, typename _ = std::enable_if_t<APIAble<T>::value, void>> void FreeAPIObjectList (typename APIAble< T >::TAPI *objects, size_t count) template<typename T, typename F, typename C> T WrapThrowable (F &&func, C &&catcher)  Wrap a throwable block in a try/catch, passing through the return value on success, and calling a catch handler and passing through its return value on an exception.
template<typename T, typename F> T WrapThrowablePointer (F &&func, typename std::enable_if< std::is_pointer< T >::value, int >::type _=0)  Wrap a throwable block in a try/catch, passing through the return value on success.
template<typename F> bool WrapThrowableBool (F &&func)  Wrap a throwable block in a try/catch, passing through the return value on success.