Loading...
Searching...
No Matches
BinaryNinja Namespace Reference

Namespaces

namespace  Collaboration
 
namespace  Enterprise
 API for interacting with Enterprise features, such as communicating with the Enterprise server.
 
namespace  Http
 
namespace  Unicode
 

Classes

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

Typedefs

typedef BNMetadataType MetadataType
 
typedef size_t ExprId
 
typedef BNPluginOrigin PluginOrigin
 
typedef BNPluginStatus PluginStatus
 
typedef BNPluginType PluginType
 

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
}
 
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
}
 
enum  MediumLevelILOperandType {
  IntegerMediumLevelOperand , ConstantDataMediumLevelOperand , IndexMediumLevelOperand , IntrinsicMediumLevelOperand ,
  ExprMediumLevelOperand , VariableMediumLevelOperand , SSAVariableMediumLevelOperand , IndexListMediumLevelOperand ,
  IndexMapMediumLevelOperand , VariableListMediumLevelOperand , SSAVariableListMediumLevelOperand , ExprListMediumLevelOperand
}
 
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
}
 

Functions

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 LogFV (BNLogLevel level, fmt::string_view format, fmt::format_args args)
 
void LogTraceFV (fmt::string_view format, fmt::format_args args)
 
void LogDebugFV (fmt::string_view format, fmt::format_args args)
 
void LogInfoFV (fmt::string_view format, fmt::format_args args)
 
void LogWarnFV (fmt::string_view format, fmt::format_args args)
 
void LogErrorFV (fmt::string_view format, fmt::format_args args)
 
void LogAlertFV (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.
 
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 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 ()
 
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)
 
Ref< BinaryViewLoad (const std::string &filename, bool updateAnalysis=true, const std::string &options="{}", std::function< bool(size_t, size_t)> 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="{}", std::function< bool(size_t, size_t)> 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="{}", std::function< bool(size_t, size_t)> 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="{}", std::function< bool(size_t, size_t)> progress={})
 Open a BinaryView from a ProjectFile, initializing data views and loading settings.
 
Ref< BinaryViewLoad (const std::string &filename, bool updateAnalysis, std::function< bool(size_t, size_t)> progress, Ref< Metadata > options=new Metadata(MetadataType::KeyValueDataType))
 Deprecated.
 
Ref< BinaryViewLoad (const DataBuffer &rawData, bool updateAnalysis, std::function< bool(size_t, size_t)> progress, Ref< Metadata > options=new Metadata(MetadataType::KeyValueDataType))
 Deprecated.
 
Ref< BinaryViewLoad (Ref< BinaryView > rawData, bool updateAnalysis, std::function< bool(size_t, size_t)> 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 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(std::function< bool(size_t, size_t)> progress)> task)
 Run a given task in a background thread, and show an updating progress bar which the user can cancel.
 
std::function< bool(size_t, size_t)> SplitProgress (std::function< bool(size_t, size_t)> originalFn, size_t subpart, size_t subpartCount)
 Split a single progress function into equally sized subparts.
 
std::function< bool(size_t, size_t)> SplitProgress (std::function< bool(size_t, size_t)> 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 F , typename C >
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 >
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.
 

Class Documentation

◆ BinaryNinja::BaseAddressDetectionSettings

struct BinaryNinja::BaseAddressDetectionSettings
Class Members
string Architecture
string Analysis
uint32_t MinStrlen
uint32_t Alignment
uint64_t LowerBoundary
uint64_t UpperBoundary
BNBaseAddressDetectionPOISetting POIAnalysis
uint32_t MaxPointersPerCluster

◆ BinaryNinja::FindParameters

struct BinaryNinja::FindParameters
Class Members
BNFindType type
BNFindRangeType rangeType
FunctionViewType ilType
string string
BNFindFlag flags
bool findAll
bool advancedSearch
bool overlap
int alignment
uint64_t findConstant
DataBuffer findBuffer
vector< BNAddressRange > ranges
uint64_t totalLength

◆ BinaryNinja::ILReferenceSource

struct BinaryNinja::ILReferenceSource
Class Members
Ref< Function > func
Ref< Architecture > arch
uint64_t addr
BNFunctionGraphType type
size_t exprId

◆ BinaryNinja::ProgressContext

struct BinaryNinja::ProgressContext
Class Members
function< bool(size_t, size_t)> callback

◆ BinaryNinja::ReferenceSource

struct BinaryNinja::ReferenceSource
Class Members
Ref< Function > func
Ref< Architecture > arch
uint64_t addr

◆ BinaryNinja::TypeFieldReference

struct BinaryNinja::TypeFieldReference
Class Members
Ref< Function > func
Ref< Architecture > arch
uint64_t addr
size_t size
Confidence< Ref< Type > > incomingType

◆ BinaryNinja::TypeReferenceSource

struct BinaryNinja::TypeReferenceSource
Class Members
QualifiedName name
uint64_t offset
BNTypeReferenceType type

◆ BinaryNinja::VariableReferenceSource

struct BinaryNinja::VariableReferenceSource
Class Members
Variable var
ILReferenceSource source

Typedef Documentation

◆ MetadataType

◆ ExprId

typedef size_t BinaryNinja::ExprId

◆ PluginOrigin

◆ PluginStatus

◆ PluginType

Enumeration Type Documentation

◆ ReferenceType

Enumerator
UnspecifiedReferenceType 
ReadReferenceType 
WriteReferenceType 
ExecuteReferenceType 
DataVariableReferenceType 
DirectTypeReferenceType 
IndirectTypeReferenceType 

Function Documentation

◆ LogFV()

void BinaryNinja::LogFV ( BNLogLevel level,
fmt::string_view format,
fmt::format_args args )

◆ LogTraceFV()

void BinaryNinja::LogTraceFV ( fmt::string_view format,
fmt::format_args args )

◆ LogDebugFV()

void BinaryNinja::LogDebugFV ( fmt::string_view format,
fmt::format_args args )

◆ LogInfoFV()

void BinaryNinja::LogInfoFV ( fmt::string_view format,
fmt::format_args args )

◆ LogWarnFV()

void BinaryNinja::LogWarnFV ( fmt::string_view format,
fmt::format_args args )

◆ LogErrorFV()

void BinaryNinja::LogErrorFV ( fmt::string_view format,
fmt::format_args args )

◆ LogAlertFV()

void BinaryNinja::LogAlertFV ( fmt::string_view format,
fmt::format_args args )

◆ Load() [1/7]

Ref< BinaryView > BinaryNinja::Load ( const std::string & filename,
bool updateAnalysis = true,
const std::string & options = "{}",
std::function< bool(size_t, size_t)> 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).

Thread Safe:
Main Thread Only

If there is any error loading the file, nullptr will be returned and a log error will be printed.

\warn You will need to call bv->GetFile()->Close() when you are finished using the view returned by this function to free the resources it opened.

If no BinaryViewType is available to load the file, the `Mapped` view type will attempt to load it, and will try to auto-detect the architecture. If no architecture is detected or specified in the load options, the `Mapped` type will fail and this function will also return nullptr.

Note
Although general container file support is not complete, support for Universal archives exists. It's possible to control the architecture preference with the `files.universal.architecturePreference` setting. This setting is scoped to SettingsUserScope and can be modified as follows:
Metadata options = {{"files.universal.architecturePreference", Metadata({"arm64"})}};
Ref<BinaryView> bv = Load("/bin/ls", true, {}, options);
Definition binaryninjaapi.h:1235
Ref< BinaryView > Load(const std::string &filename, bool updateAnalysis=true, const std::string &options="{}", std::function< bool(size_t, size_t)> progress={})
OpenView opens a file on disk and returns a BinaryView, attempting to use the most relevant BinaryVie...
Definition binaryview.cpp:5470
Parameters
filenamePath to filename or BNDB to open.
updateAnalysisIf true, UpdateAnalysisAndWait() will be called after opening a BinaryView.
optionsA Json string whose keys are setting identifiers and whose values are the desired settings.
progressOptional function to be called with progress updates as the view is being loaded. If the function returns false, it will cancel Load.
Returns
Constructed view, or a nullptr Ref<BinaryView>

◆ Load() [2/7]

Ref< BinaryView > BinaryNinja::Load ( const DataBuffer & rawData,
bool updateAnalysis = true,
const std::string & options = "{}",
std::function< bool(size_t, size_t)> progress = {} )

Open a BinaryView from a raw data buffer, initializing data views and loading settings.

Thread Safe:
Main Thread Only
See also
BinaryNinja::Load(const std::string&, bool, std::function<bool(size_t, size_t)>, Json::Value) for discussion of this Function.
Parameters
rawDataBuffer with raw binary data to load (cannot load from bndb)
updateAnalysisIf true, UpdateAnalysisAndWait() will be called after opening a BinaryView.
optionsA Json string whose keys are setting identifiers and whose values are the desired settings.
progressOptional function to be called with progress updates as the view is being loaded. If the function returns false, it will cancel Load.
Returns
Constructed view, or a nullptr Ref<BinaryView>

◆ Load() [3/7]

Ref< BinaryView > BinaryNinja::Load ( Ref< BinaryView > rawData,
bool updateAnalysis = true,
const std::string & options = "{}",
std::function< bool(size_t, size_t)> progress = {} )

Open a BinaryView from a raw BinaryView, initializing data views and loading settings.

Thread Safe:
Main Thread Only
See also
BinaryNinja::Load(const std::string&, bool, std::function<bool(size_t, size_t)>, Json::Value) for discussion of this Function.
Parameters
rawDataBinaryView with raw binary data to load
updateAnalysisIf true, UpdateAnalysisAndWait() will be called after opening a BinaryView.
optionsA Json string whose keys are setting identifiers and whose values are the desired settings.
progressOptional function to be called with progress updates as the view is being loaded. If the function returns false, it will cancel Load.
Returns
Constructed view, or a nullptr Ref<BinaryView>

◆ Load() [4/7]

Ref< BinaryView > BinaryNinja::Load ( Ref< ProjectFile > rawData,
bool updateAnalysis = true,
const std::string & options = "{}",
std::function< bool(size_t, size_t)> progress = {} )

Open a BinaryView from a ProjectFile, initializing data views and loading settings.

Thread Safe:
Main Thread Only
See also
BinaryNinja::Load(const std::string&, bool, std::function<bool(size_t, size_t)>, Json::Value) for discussion of this Function.
Parameters
rawDataBinaryView with raw binary data to load
updateAnalysisIf true, UpdateAnalysisAndWait() will be called after opening a BinaryView.
optionsA Json string whose keys are setting identifiers and whose values are the desired settings.
progressOptional function to be called with progress updates as the view is being loaded. If the function returns false, it will cancel Load.
Returns
Constructed view, or a nullptr Ref<BinaryView>

◆ Load() [5/7]

Ref< BinaryView > BinaryNinja::Load ( const std::string & filename,
bool updateAnalysis,
std::function< bool(size_t, size_t)> progress,
Ref< Metadata > options = new Metadata(MetadataType::KeyValueDataType) )

Deprecated.

Use non-metadata version.

◆ Load() [6/7]

Ref< BinaryView > BinaryNinja::Load ( const DataBuffer & rawData,
bool updateAnalysis,
std::function< bool(size_t, size_t)> progress,
Ref< Metadata > options = new Metadata(MetadataType::KeyValueDataType) )

Deprecated.

Use non-metadata version.

◆ Load() [7/7]

Ref< BinaryView > BinaryNinja::Load ( Ref< BinaryView > rawData,
bool updateAnalysis,
std::function< bool(size_t, size_t)> progress,
Ref< Metadata > options = new Metadata(MetadataType::KeyValueDataType),
bool isDatabase = false )

Deprecated.

Use non-metadata version.

◆ MarkdownToHTML()

std::string BinaryNinja::MarkdownToHTML ( const std::string & contents)
Thread Safe:
Yes

◆ RegisterInteractionHandler()

void BinaryNinja::RegisterInteractionHandler ( InteractionHandler * handler)

◆ RunProgressDialog()

bool BinaryNinja::RunProgressDialog ( const std::string & title,
bool canCancel,
std::function< void(std::function< bool(size_t, size_t)> progress)> task )

Run a given task in a background thread, and show an updating progress bar which the user can cancel.

Thread Safe:
Yes
Parameters
titleDialog title
canCancelIf the task can be cancelled
taskFunction to perform the task, taking as a parameter a function which should be called to report progress updates and check for cancellation. If the progress function returns false, the user has requested to cancel, and the task should handle this appropriately.
Returns
True if not cancelled

◆ SplitProgress() [1/2]

std::function< bool(size_t, size_t)> BinaryNinja::SplitProgress ( std::function< bool(size_t, size_t)> originalFn,
size_t subpart,
size_t subpartCount )

Split a single progress function into equally sized subparts.

This function takes the original progress function and returns a new function whose signature is the same but whose output is shortened to correspond to the specified subparts.

Thread Safe:
Yes

E.g. If subpart = 0 and subpartCount = 3, this returns a function that calls originalFn and has all of its progress multiplied by 1/3 and 0/3 added.

Internally this works by calling originalFn with total = 1000000 and doing math on the current value

Parameters
originalFnOriginal progress function (usually updates a UI)
subpartIndex of subpart whose function to return, from 0 to (subpartCount - 1)
subpartCountTotal number of subparts
Returns
A function that will call originalFn() within a modified progress region

◆ SplitProgress() [2/2]

std::function< bool(size_t, size_t)> BinaryNinja::SplitProgress ( std::function< bool(size_t, size_t)> originalFn,
size_t subpart,
std::vector< double > subpartWeights )

Split a single progress function into subparts.

This function takes the original progress function and returns a new function whose signature is the same but whose output is shortened to correspond to the specified subparts.

Thread Safe:
Yes

The length of a subpart is proportional to the sum of all the weights. E.g. If subpart = 1 and subpartWeights = { 0.25, 0.5, 0.25 }, this will return a function that calls originalFn and maps its progress to the range [0.25, 0.75]

Internally this works by calling originalFn with total = 1000000 and doing math on the current value

Parameters
originalFnOriginal progress function (usually updates a UI)
subpartIndex of subpart whose function to return, from 0 to (subpartWeights.size() - 1)
subpartWeightsWeights of subparts, described above
Returns
A function that will call originalFn() within a modified progress region

◆ ProgressCallback()

bool BinaryNinja::ProgressCallback ( void * ctxt,
size_t current,
size_t total )

◆ GetUniqueIdentifierString()

string BinaryNinja::GetUniqueIdentifierString ( )

◆ GetMemoryUsageInfo()

map< string, uint64_t > BinaryNinja::GetMemoryUsageInfo ( )

◆ SetThreadName()

void BinaryNinja::SetThreadName ( const std::string & name)

◆ Settings::Get< std::string >()

template<>
std::string BinaryNinja::Settings::Get< std::string > ( const std::string & key,
Ref< Function > func,
BNSettingsScope * scope )

◆ Settings::Get< std::vector< std::string > >()

template<>
std::vector< std::string > BinaryNinja::Settings::Get< std::vector< std::string > > ( const std::string & key,
Ref< Function > func,
BNSettingsScope * scope )

◆ SimplifyToString()

string BinaryNinja::SimplifyToString ( const string & input)

◆ SimplifyToQualifiedName()

QualifiedName BinaryNinja::SimplifyToQualifiedName ( const string & input,
bool simplify )

◆ AllocApiString() [1/4]

char * BinaryNinja::AllocApiString ( const char * string)

◆ AllocApiString() [2/4]

void BinaryNinja::AllocApiString ( const char * string,
char ** output )

◆ AllocApiString() [3/4]

char * BinaryNinja::AllocApiString ( const std::string & string)

◆ AllocApiString() [4/4]

void BinaryNinja::AllocApiString ( const std::string & string,
char ** output )

◆ AllocApiStringList() [1/8]

char ** BinaryNinja::AllocApiStringList ( const char *const * stringList,
size_t count )

◆ AllocApiStringList() [2/8]

void BinaryNinja::AllocApiStringList ( const char *const * stringList,
size_t count,
char *** output )

◆ AllocApiStringList() [3/8]

char ** BinaryNinja::AllocApiStringList ( const std::vector< std::string > & stringList,
size_t * count )

◆ AllocApiStringList() [4/8]

void BinaryNinja::AllocApiStringList ( const std::vector< std::string > & stringList,
char *** output,
size_t * count )

◆ AllocApiStringList() [5/8]

char ** BinaryNinja::AllocApiStringList ( const std::set< std::string > & stringList,
size_t * count )

◆ AllocApiStringList() [6/8]

void BinaryNinja::AllocApiStringList ( const std::set< std::string > & stringList,
char *** output,
size_t * count )

◆ AllocApiStringList() [7/8]

char ** BinaryNinja::AllocApiStringList ( const std::unordered_set< std::string > & stringList,
size_t * count )

◆ AllocApiStringList() [8/8]

void BinaryNinja::AllocApiStringList ( const std::unordered_set< std::string > & stringList,
char *** output,
size_t * count )

◆ AllocApiStringPairList() [1/3]

void BinaryNinja::AllocApiStringPairList ( const std::vector< std::pair< std::string, std::string > > & stringPairList,
char *** outputKeys,
char *** outputValues,
size_t * count )

◆ AllocApiStringPairList() [2/3]

void BinaryNinja::AllocApiStringPairList ( const std::map< std::string, std::string > & stringPairList,
char *** outputKeys,
char *** outputValues,
size_t * count )

◆ AllocApiStringPairList() [3/3]

void BinaryNinja::AllocApiStringPairList ( const std::unordered_map< std::string, std::string > & stringPairList,
char *** outputKeys,
char *** outputValues,
size_t * count )

◆ ParseString()

string BinaryNinja::ParseString ( const char * string)

◆ ParseStringList()

vector< string > BinaryNinja::ParseStringList ( const char *const * stringList,
size_t count )

◆ ParseStringSet()

set< string > BinaryNinja::ParseStringSet ( const char *const * stringList,
size_t count )

◆ ParseStringUnorderedSet()

unordered_set< string > BinaryNinja::ParseStringUnorderedSet ( const char *const * stringList,
size_t count )

◆ ParseStringPairList()

vector< pair< string, string > > BinaryNinja::ParseStringPairList ( const char *const * keys,
const char *const * values,
size_t count )

◆ ParseStringMap()

map< string, string > BinaryNinja::ParseStringMap ( const char *const * keys,
const char *const * values,
size_t count )

◆ ParseStringUnorderedMap()

unordered_map< string, string > BinaryNinja::ParseStringUnorderedMap ( const char *const * keys,
const char *const * values,
size_t count )

◆ FreeApiString()

void BinaryNinja::FreeApiString ( char * string)

◆ FreeApiStringList()

void BinaryNinja::FreeApiStringList ( char ** stringList,
size_t count )

◆ FreeApiStringPairList()

void BinaryNinja::FreeApiStringPairList ( char ** keys,
char ** values,
size_t count )

◆ FreeCoreString()

void BinaryNinja::FreeCoreString ( char * string)

◆ FreeCoreStringList()

void BinaryNinja::FreeCoreStringList ( char ** stringList,
size_t count )

◆ FreeCoreStringPairList()

void BinaryNinja::FreeCoreStringPairList ( char ** keys,
char ** values,
size_t count )

◆ WrapThrowable()

template<typename T , typename F , typename C >
T BinaryNinja::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 Parameters
TReturn type
FThrowable block
CCatch handler
Parameters
funcThrowable block to execute
catcherCatch handler to execute if `func` throws
Returns
Either the func's result or the handler's result

◆ WrapThrowablePointer()

template<typename T , typename F >
T BinaryNinja::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.

Specialized for pointers, where nullptr will be returned if an exception is thrown.

Template Parameters
TReturn type
FThrowable block
Parameters
funcThrowable block to execute
Returns
Either the func's result or nullptr

◆ WrapThrowableBool()

template<typename F >
bool BinaryNinja::WrapThrowableBool ( F && func)

Wrap a throwable block in a try/catch, passing through the return value on success.

Specialized for bool and void functions, returning false if the function throws, or

  • if the function returns a bool, passing through that value.
  • if the function returns void, returning true on completion.
    Template Parameters
    FThrowable block
    Parameters
    funcThrowable block to execute
    Returns
    Bool as described above