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< BinaryView > Load (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< BinaryView > Load (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< BinaryView > Load (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< BinaryView > Load (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< BinaryView > ParseTextFormat (const std::string &filename) Ref< BinaryView > Load (const std::string &filename, bool updateAnalysis, ProgressFunction progress, Ref< Metadata > options=new Metadata(MetadataType::KeyValueDataType)) Deprecated.
Ref< BinaryView > Load (const DataBuffer &rawData, bool updateAnalysis, ProgressFunction progress, Ref< Metadata > options=new Metadata(MetadataType::KeyValueDataType)) Deprecated.
Ref< BinaryView > Load (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< MainThreadAction > ExecuteOnMainThread (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.