Binary Ninja API C++: C++ Core API

Classes available to C++ Core Plugins. More...

Classes available to C++ Core Plugins.

Topics

 Architectures
 Classes related to interacting with, hooking, and implementing Architectures.
 Basic Blocks
 Documentation for interacting with basic blocks.
 BinaryView
 Classes related to interacting with and implementing custom BinaryViews.
 CallingConvention
 Confidence
 Database
 DataBuffer
 DataRenderer
 DebugInfo
 Demangle
 DownloadProvider
 FileAccessor
 FileMetadata
 Flowgraph
 Function
 FunctionRecognizer
 High Level IL
 Interaction
 LinearDisassembly
 Logging
 Low Level IL
 MainThread
 Medium Level IL
 Metadata
 Platform
 Plugin
 Plugin Manager
 NameList
 RefCount
 Scripting Provider
 Secrets Provider
 Settings
 TempFile
 Transform
 Types
 TypeParser
 TypePrinter
 Update
 Undo
 Websocket Provider
 Workflows

Classes

struct  BinaryNinja::VersionInfo
class  BinaryNinja::User
class  BinaryNinja::ReportCollection
class  BinaryNinja::DisassemblyTextRenderer
class  BinaryNinja::Component
 Components are objects that can contain Functions and other Components. More...

Functions

std::string BinaryNinja::EscapeString (const std::string &s)
std::string BinaryNinja::UnescapeString (const std::string &s)
bool BinaryNinja::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 BinaryNinja::DisablePlugins ()
bool BinaryNinja::IsPluginsEnabled ()
bool BinaryNinja::InitPlugins (bool allowUserPlugins=true)
void BinaryNinja::InitCorePlugins ()
void BinaryNinja::InitUserPlugins ()
void BinaryNinja::InitRepoPlugins ()
std::string BinaryNinja::GetBundledPluginDirectory ()
void BinaryNinja::SetBundledPluginDirectory (const std::string &path)
std::string BinaryNinja::GetUserDirectory ()
std::string BinaryNinja::GetSystemCacheDirectory ()
 Get the Binary Ninja system cache directory.
std::string BinaryNinja::GetSettingsFileName ()
std::string BinaryNinja::GetRepositoriesDirectory ()
std::string BinaryNinja::GetInstallDirectory ()
std::string BinaryNinja::GetUserPluginDirectory ()
std::string BinaryNinja::GetPathRelativeToBundledPluginDirectory (const std::string &path)
std::string BinaryNinja::GetPathRelativeToUserPluginDirectory (const std::string &path)
std::string BinaryNinja::GetPathRelativeToUserDirectory (const std::string &path)
bool BinaryNinja::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 BinaryNinja::GetVersionString ()
VersionInfo BinaryNinja::GetVersionInfo ()
VersionInfo BinaryNinja::ParseVersionString (const std::string &version)
std::string BinaryNinja::GetLicensedUserEmail ()
std::string BinaryNinja::GetProduct ()
std::string BinaryNinja::GetProductType ()
std::string BinaryNinja::GetSerialNumber ()
int BinaryNinja::GetLicenseCount ()
bool BinaryNinja::IsUIEnabled ()
uint32_t BinaryNinja::GetBuildId ()
bool BinaryNinja::AreAutoUpdatesEnabled ()
void BinaryNinja::SetAutoUpdatesEnabled (bool enabled)
uint64_t BinaryNinja::GetTimeSinceLastUpdateCheck ()
void BinaryNinja::UpdatesChecked ()
std::string BinaryNinja::GetActiveUpdateChannel ()
void BinaryNinja::SetActiveUpdateChannel (const std::string &channel)
void BinaryNinja::SetCurrentPluginLoadOrder (BNPluginLoadOrder order)
void BinaryNinja::AddRequiredPluginDependency (const std::string &name)
void BinaryNinja::AddOptionalPluginDependency (const std::string &name)
template<typename T>
std::string BinaryNinja::CoreEnumName ()
template<typename T>
std::optional< std::string > BinaryNinja::CoreEnumToString (T value)
template<typename T>
std::optional< T > BinaryNinja::CoreEnumFromString (const std::string &value)
std::optional< size_t > BinaryNinja::FuzzyMatchSingle (const std::string &target, const std::string &query)

◆ BinaryNinja::VersionInfo

struct BinaryNinja::VersionInfo

Public Member Functions

 VersionInfo ()=default
bool operator< (const VersionInfo &other) const

Public Attributes

uint32_t major {}
uint32_t minor {}
uint32_t build {}
std::string channel

◆ VersionInfo()

BinaryNinja::VersionInfo::VersionInfo ( )
default

◆ operator<()

bool BinaryNinja::VersionInfo::operator< ( const VersionInfo & other) const
inline

◆ major

uint32_t BinaryNinja::VersionInfo::major {}

◆ minor

uint32_t BinaryNinja::VersionInfo::minor {}

◆ build

uint32_t BinaryNinja::VersionInfo::build {}

◆ channel

std::string BinaryNinja::VersionInfo::channel

◆ BinaryNinja::User

◆ BinaryNinja::ReportCollection

class BinaryNinja::ReportCollection

Public Member Functions

 ReportCollection ()
 ReportCollection (BNReportCollection *reports)
size_t GetCount () const
BNReportType GetType (size_t i) const
Ref< BinaryViewGetView (size_t i) const
std::string GetTitle (size_t i) const
std::string GetContents (size_t i) const
std::string GetPlainText (size_t i) const
Ref< FlowGraphGetFlowGraph (size_t i) const
void AddPlainTextReport (Ref< BinaryView > view, const std::string &title, const std::string &contents)
void AddMarkdownReport (Ref< BinaryView > view, const std::string &title, const std::string &contents, const std::string &plainText="")
void AddHTMLReport (Ref< BinaryView > view, const std::string &title, const std::string &contents, const std::string &plainText="")
void AddGraphReport (Ref< BinaryView > view, const std::string &title, Ref< FlowGraph > graph)
void UpdateFlowGraph (size_t i, Ref< FlowGraph > graph)
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNReportCollection, BNNewReportCollectionReference, BNFreeReportCollection >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNReportCollectionGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

◆ ReportCollection() [1/2]

ReportCollection::ReportCollection ( )

◆ ReportCollection() [2/2]

◆ GetCount()

size_t ReportCollection::GetCount ( ) const

◆ GetType()

◆ GetView()

◆ GetTitle()

string ReportCollection::GetTitle ( size_t i) const

◆ GetContents()

string ReportCollection::GetContents ( size_t i) const

◆ GetPlainText()

string ReportCollection::GetPlainText ( size_t i) const

◆ GetFlowGraph()

Ref< FlowGraph > ReportCollection::GetFlowGraph ( size_t i) const

◆ AddPlainTextReport()

void ReportCollection::AddPlainTextReport ( Ref< BinaryView > view,
const std::string & title,
const std::string & contents )

◆ AddMarkdownReport()

void ReportCollection::AddMarkdownReport ( Ref< BinaryView > view,
const std::string & title,
const std::string & contents,
const std::string & plainText = "" )

◆ AddHTMLReport()

void ReportCollection::AddHTMLReport ( Ref< BinaryView > view,
const std::string & title,
const std::string & contents,
const std::string & plainText = "" )

◆ AddGraphReport()

◆ UpdateFlowGraph()

void ReportCollection::UpdateFlowGraph ( size_t i,
Ref< FlowGraph > graph )

◆ BinaryNinja::DisassemblyTextRenderer

class BinaryNinja::DisassemblyTextRenderer

Public Member Functions

 DisassemblyTextRenderer (Function *func, DisassemblySettings *settings=nullptr)
 DisassemblyTextRenderer (LowLevelILFunction *func, DisassemblySettings *settings=nullptr)
 DisassemblyTextRenderer (MediumLevelILFunction *func, DisassemblySettings *settings=nullptr)
 DisassemblyTextRenderer (HighLevelILFunction *func, DisassemblySettings *settings=nullptr)
 DisassemblyTextRenderer (BNDisassemblyTextRenderer *renderer)
Ref< FunctionGetFunction () const
Ref< LowLevelILFunctionGetLowLevelILFunction () const
Ref< MediumLevelILFunctionGetMediumLevelILFunction () const
Ref< HighLevelILFunctionGetHighLevelILFunction () const
Ref< BasicBlockGetBasicBlock () const
Ref< ArchitectureGetArchitecture () const
Ref< DisassemblySettingsGetSettings () const
void SetBasicBlock (BasicBlock *block)
void SetArchitecture (Architecture *arch)
void SetSettings (DisassemblySettings *settings)
virtual bool IsIL () const
virtual bool HasDataFlow () const
virtual void GetInstructionAnnotations (std::vector< InstructionTextToken > &tokens, uint64_t addr)
virtual bool GetInstructionText (uint64_t addr, size_t &len, std::vector< DisassemblyTextLine > &lines)
std::vector< DisassemblyTextLinePostProcessInstructionTextLines (uint64_t addr, size_t len, const std::vector< DisassemblyTextLine > &lines, const std::string &indentSpaces="")
virtual bool GetDisassemblyText (uint64_t addr, size_t &len, std::vector< DisassemblyTextLine > &lines)
void ResetDeduplicatedComments ()
bool AddSymbolToken (std::vector< InstructionTextToken > &tokens, uint64_t addr, size_t size, size_t operand)
void AddStackVariableReferenceTokens (std::vector< InstructionTextToken > &tokens, const StackVariableReference &ref)
void AddIntegerToken (std::vector< InstructionTextToken > &tokens, const InstructionTextToken &token, Architecture *arch, uint64_t addr)
void WrapComment (DisassemblyTextLine &line, std::vector< DisassemblyTextLine > &lines, const std::string &comment, bool hasAutoAnnotations, const std::string &leadingSpaces=" ", const std::string &indentSpaces="")
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNDisassemblyTextRenderer, BNNewDisassemblyTextRendererReference, BNFreeDisassemblyTextRenderer >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNDisassemblyTextRendererGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

Static Public Member Functions

static BNSymbolDisplayResult AddSymbolTokenStatic (std::vector< InstructionTextToken > &tokens, uint64_t addr, size_t size, size_t operand, BinaryView *data, size_t maxSymbolWidth, Function *func, uint8_t confidence=255, BNSymbolDisplayType symbolDisplay=DisplaySymbolOnly, BNOperatorPrecedence precedence=TopLevelOperatorPrecedence, uint64_t instrAddr=-1, uint64_t exprIndex=-1)
static bool IsIntegerToken (BNInstructionTextTokenType type)
static std::string GetDisplayStringForInteger (Ref< BinaryView > binaryView, BNIntegerDisplayType type, uint64_t value, size_t inputWidth, bool isSigned=true)
static std::string GetStringLiteralPrefix (BNStringType type)

◆ DisassemblyTextRenderer() [1/5]

◆ DisassemblyTextRenderer() [2/5]

◆ DisassemblyTextRenderer() [3/5]

◆ DisassemblyTextRenderer() [4/5]

◆ DisassemblyTextRenderer() [5/5]

◆ GetFunction()

Ref< Function > DisassemblyTextRenderer::GetFunction ( ) const

◆ GetLowLevelILFunction()

◆ GetMediumLevelILFunction()

◆ GetHighLevelILFunction()

◆ GetBasicBlock()

Ref< BasicBlock > DisassemblyTextRenderer::GetBasicBlock ( ) const

◆ GetArchitecture()

◆ GetSettings()

◆ SetBasicBlock()

void DisassemblyTextRenderer::SetBasicBlock ( BasicBlock * block)

◆ SetArchitecture()

void DisassemblyTextRenderer::SetArchitecture ( Architecture * arch)

◆ SetSettings()

◆ IsIL()

bool DisassemblyTextRenderer::IsIL ( ) const
virtual

◆ HasDataFlow()

bool DisassemblyTextRenderer::HasDataFlow ( ) const
virtual

◆ GetInstructionAnnotations()

void DisassemblyTextRenderer::GetInstructionAnnotations ( std::vector< InstructionTextToken > & tokens,
uint64_t addr )
virtual

◆ GetInstructionText()

bool DisassemblyTextRenderer::GetInstructionText ( uint64_t addr,
size_t & len,
std::vector< DisassemblyTextLine > & lines )
virtual

◆ PostProcessInstructionTextLines()

vector< DisassemblyTextLine > DisassemblyTextRenderer::PostProcessInstructionTextLines ( uint64_t addr,
size_t len,
const std::vector< DisassemblyTextLine > & lines,
const std::string & indentSpaces = "" )

◆ GetDisassemblyText()

bool DisassemblyTextRenderer::GetDisassemblyText ( uint64_t addr,
size_t & len,
std::vector< DisassemblyTextLine > & lines )
virtual

◆ ResetDeduplicatedComments()

void DisassemblyTextRenderer::ResetDeduplicatedComments ( )

◆ AddSymbolToken()

bool DisassemblyTextRenderer::AddSymbolToken ( std::vector< InstructionTextToken > & tokens,
uint64_t addr,
size_t size,
size_t operand )

◆ AddSymbolTokenStatic()

BNSymbolDisplayResult DisassemblyTextRenderer::AddSymbolTokenStatic ( std::vector< InstructionTextToken > & tokens,
uint64_t addr,
size_t size,
size_t operand,
BinaryView * data,
size_t maxSymbolWidth,
Function * func,
uint8_t confidence = 255,
BNSymbolDisplayType symbolDisplay = DisplaySymbolOnly,
BNOperatorPrecedence precedence = TopLevelOperatorPrecedence,
uint64_t instrAddr = -1,
uint64_t exprIndex = -1 )
static

◆ AddStackVariableReferenceTokens()

◆ IsIntegerToken()

◆ AddIntegerToken()

◆ WrapComment()

void DisassemblyTextRenderer::WrapComment ( DisassemblyTextLine & line,
std::vector< DisassemblyTextLine > & lines,
const std::string & comment,
bool hasAutoAnnotations,
const std::string & leadingSpaces = "  ",
const std::string & indentSpaces = "" )

◆ GetDisplayStringForInteger()

string DisassemblyTextRenderer::GetDisplayStringForInteger ( Ref< BinaryView > binaryView,
BNIntegerDisplayType type,
uint64_t value,
size_t inputWidth,
bool isSigned = true )
static

◆ GetStringLiteralPrefix()

string DisassemblyTextRenderer::GetStringLiteralPrefix ( BNStringType type)
static

◆ BinaryNinja::Component

class BinaryNinja::Component

Components are objects that can contain Functions and other Components.

Note
Components should not be instantiated directly. Instead use BinaryView::CreateComponent()

They can be queried for information about the functions contained within them.

Components have a Guid, which persistent across saves and loads of the database, and should be used for retrieving components when such is required and a reference to the Component cannot be held.

Public Member Functions

 Component (BNComponent *type)
std::string GetGuid ()
 Get the unique identifier for this component.
bool operator== (const Component &other) const
bool operator!= (const Component &other) const
Ref< BinaryViewGetView ()
std::string GetDisplayName ()
 The displayed name for the component.
std::string GetName ()
 The original name for the component.
void SetName (const std::string &name)
 Set the name for the component.
Ref< ComponentGetParent ()
 Get the parent component.
bool AddFunction (Ref< Function > func)
 Add a function to this component.
bool AddComponent (Ref< Component > component)
 Move a component to this component.
bool AddDataVariable (DataVariable dataVariable)
bool RemoveComponent (Ref< Component > component)
 Remove a Component from this Component, moving it to the root component.
bool RemoveFunction (Ref< Function > func)
 Remove a function.
bool RemoveDataVariable (DataVariable dataVariable)
std::vector< Ref< Type > > GetReferencedTypes ()
 Get a list of types referenced by the functions in this Component.
std::vector< Ref< Component > > GetContainedComponents ()
 Get a list of components contained by this component.
std::vector< Ref< Function > > GetContainedFunctions ()
 Get a list of functions contained within this Component.
std::vector< DataVariableGetContainedDataVariables ()
 Get a list of datavariables added to this component.
std::vector< DataVariableGetReferencedDataVariables ()
 Get a list of DataVariables referenced by the functions in this Component.
Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNComponent, BNNewComponentReference, BNFreeComponent >
 CoreRefCountObject ()
virtual ~CoreRefCountObject ()
BNComponentGetObject () const
void AddRef ()
void Release ()
void AddRefForRegistration ()
void ReleaseForRegistration ()
void AddRefForCallback ()
void ReleaseForCallback ()

◆ Component()

◆ GetGuid()

std::string Component::GetGuid ( )

Get the unique identifier for this component.

Returns
Component GUID

◆ operator==()

bool Component::operator== ( const Component & other) const

◆ operator!=()

bool Component::operator!= ( const Component & other) const

◆ GetView()

◆ GetDisplayName()

std::string Component::GetDisplayName ( )

The displayed name for the component.

Thread Safe:
No

This can differ from the GetOriginalName() value if the parent component also contains other components with the same name.

Subsequent duplicates will return the original name with " (1)", " (2)" and so on appended.

This name can change whenever a different duplicate is removed.

Note
For looking up Components, utilizing Guid is highly recommended, as it will *always* map to this component, and as Guid lookups are faster by nature.
Returns
Component name

◆ GetName()

std::string Component::GetName ( )

The original name for the component.

Thread Safe:
No

This may differ from Component::GetName() whenever the parent contains Components with the same original name.

This function will always return the value originally set for this Component.

Returns
Component name

◆ SetName()

void Component::SetName ( const std::string & name)

Set the name for the component.

Thread Safe:
No
See also
GetName(), GetOriginalName()
Parameters

◆ GetParent()

Ref< Component > Component::GetParent ( )

Get the parent component.

If it's a top level component, it will return the "root" Component.

Thread Safe:
Yes
Returns
Parent Component

◆ AddFunction()

Add a function to this component.

Thread Safe:
Yes
Parameters
Returns
True if the function was successfully added.

◆ AddComponent()

bool Component::AddComponent ( Ref< Component > component)

Move a component to this component.

Thread Safe:
Yes
Parameters
componentComponent to add.
Returns
True if the component was successfully added.

◆ AddDataVariable()

bool Component::AddDataVariable ( DataVariable dataVariable)

◆ RemoveComponent()

bool Component::RemoveComponent ( Ref< Component > component)

◆ RemoveFunction()

Remove a function.

Thread Safe:
Yes
Parameters
Returns
True if the function was successfully removed.

◆ RemoveDataVariable()

bool Component::RemoveDataVariable ( DataVariable dataVariable)

◆ GetReferencedTypes()

std::vector< Ref< Type > > Component::GetReferencedTypes ( )

Get a list of types referenced by the functions in this Component.

Thread Safe:
Yes
Returns
vector of Type objects

◆ GetContainedComponents()

std::vector< Ref< Component > > Component::GetContainedComponents ( )

Get a list of components contained by this component.

Thread Safe:
Yes
Returns
vector of Component objects

◆ GetContainedFunctions()

std::vector< Ref< Function > > Component::GetContainedFunctions ( )

Get a list of functions contained within this Component.

Thread Safe:
Yes
Returns
vector of Function objects

◆ GetContainedDataVariables()

std::vector< DataVariable > Component::GetContainedDataVariables ( )

Get a list of datavariables added to this component.

Thread Safe:
Yes
Returns
list of DataVariables

◆ GetReferencedDataVariables()

std::vector< DataVariable > Component::GetReferencedDataVariables ( )

Get a list of DataVariables referenced by the functions in this Component.

Thread Safe:
Yes
Returns
vector of DataVariable objects

◆ EscapeString()

std::string BinaryNinja::EscapeString ( const std::string & s)

◆ UnescapeString()

std::string BinaryNinja::UnescapeString ( const std::string & s)

◆ PreprocessSource()

bool BinaryNinja::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 >() )

◆ DisablePlugins()

void BinaryNinja::DisablePlugins ( )

◆ IsPluginsEnabled()

bool BinaryNinja::IsPluginsEnabled ( )

◆ InitPlugins()

bool BinaryNinja::InitPlugins ( bool allowUserPlugins = true)

◆ InitCorePlugins()

void BinaryNinja::InitCorePlugins ( )

◆ InitUserPlugins()

void BinaryNinja::InitUserPlugins ( )

◆ InitRepoPlugins()

void BinaryNinja::InitRepoPlugins ( )

◆ GetBundledPluginDirectory()

string BinaryNinja::GetBundledPluginDirectory ( )

◆ SetBundledPluginDirectory()

void BinaryNinja::SetBundledPluginDirectory ( const std::string & path)

◆ GetUserDirectory()

string BinaryNinja::GetUserDirectory ( void )

◆ GetSystemCacheDirectory()

string BinaryNinja::GetSystemCacheDirectory ( )

Get the Binary Ninja system cache directory.

Returns
std::string - Binary Ninja's cache directory on a given system

◆ GetSettingsFileName()

string BinaryNinja::GetSettingsFileName ( )

◆ GetRepositoriesDirectory()

string BinaryNinja::GetRepositoriesDirectory ( )

◆ GetInstallDirectory()

string BinaryNinja::GetInstallDirectory ( )

◆ GetUserPluginDirectory()

string BinaryNinja::GetUserPluginDirectory ( )

◆ GetPathRelativeToBundledPluginDirectory()

std::string BinaryNinja::GetPathRelativeToBundledPluginDirectory ( const std::string & path)

◆ GetPathRelativeToUserPluginDirectory()

std::string BinaryNinja::GetPathRelativeToUserPluginDirectory ( const std::string & path)

◆ GetPathRelativeToUserDirectory()

std::string BinaryNinja::GetPathRelativeToUserDirectory ( const std::string & path)

◆ ExecuteWorkerProcess()

bool BinaryNinja::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 )

◆ GetVersionString()

string BinaryNinja::GetVersionString ( )

◆ GetVersionInfo()

VersionInfo BinaryNinja::GetVersionInfo ( )

◆ ParseVersionString()

VersionInfo BinaryNinja::ParseVersionString ( const std::string & version)

◆ GetLicensedUserEmail()

string BinaryNinja::GetLicensedUserEmail ( )

◆ GetProduct()

string BinaryNinja::GetProduct ( )

◆ GetProductType()

string BinaryNinja::GetProductType ( )

◆ GetSerialNumber()

string BinaryNinja::GetSerialNumber ( )

◆ GetLicenseCount()

int BinaryNinja::GetLicenseCount ( )

◆ IsUIEnabled()

bool BinaryNinja::IsUIEnabled ( )

◆ GetBuildId()

uint32_t BinaryNinja::GetBuildId ( )

◆ AreAutoUpdatesEnabled()

bool BinaryNinja::AreAutoUpdatesEnabled ( )

◆ SetAutoUpdatesEnabled()

void BinaryNinja::SetAutoUpdatesEnabled ( bool enabled)

◆ GetTimeSinceLastUpdateCheck()

uint64_t BinaryNinja::GetTimeSinceLastUpdateCheck ( )

◆ UpdatesChecked()

void BinaryNinja::UpdatesChecked ( )

◆ GetActiveUpdateChannel()

string BinaryNinja::GetActiveUpdateChannel ( )

◆ SetActiveUpdateChannel()

void BinaryNinja::SetActiveUpdateChannel ( const std::string & channel)

◆ SetCurrentPluginLoadOrder()

◆ AddRequiredPluginDependency()

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

◆ AddOptionalPluginDependency()

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

◆ CoreEnumName()

template<typename T>

std::string BinaryNinja::CoreEnumName ( )

◆ CoreEnumToString()

template<typename T>

std::optional< std::string > BinaryNinja::CoreEnumToString ( T value)

◆ CoreEnumFromString()

template<typename T>

std::optional< T > BinaryNinja::CoreEnumFromString ( const std::string & value)

◆ FuzzyMatchSingle()

std::optional< size_t > BinaryNinja::FuzzyMatchSingle ( const std::string & target,
const std::string & query )