LinearDisassembly

Detailed Description

Classes

struct  BinaryNinja::LinearDisassemblyLine
 
struct  BinaryNinja::LinearViewObjectIdentifier
 
class  BinaryNinja::LinearViewObject
 
class  BinaryNinja::LinearViewCursor
 

Class Documentation

◆ BinaryNinja::LinearDisassemblyLine

struct BinaryNinja::LinearDisassemblyLine

Static Public Member Functions

static LinearDisassemblyLine FromAPIObject (BNLinearDisassemblyLine *line)
 

Public Attributes

BNLinearDisassemblyLineType type
 
Ref< Functionfunction
 
Ref< BasicBlockblock
 
DisassemblyTextLine contents
 

Member Function Documentation

◆ FromAPIObject()

LinearDisassemblyLine LinearDisassemblyLine::FromAPIObject ( BNLinearDisassemblyLine line)
static

Member Data Documentation

◆ type

BNLinearDisassemblyLineType BinaryNinja::LinearDisassemblyLine::type

◆ function

Ref<Function> BinaryNinja::LinearDisassemblyLine::function

◆ block

Ref<BasicBlock> BinaryNinja::LinearDisassemblyLine::block

◆ contents

DisassemblyTextLine BinaryNinja::LinearDisassemblyLine::contents

◆ BinaryNinja::LinearViewObjectIdentifier

struct BinaryNinja::LinearViewObjectIdentifier

Public Member Functions

 LinearViewObjectIdentifier ()
 
 LinearViewObjectIdentifier (const std::string &name)
 
 LinearViewObjectIdentifier (const std::string &name, uint64_t addr)
 
 LinearViewObjectIdentifier (const std::string &name, uint64_t start, uint64_t end)
 
 LinearViewObjectIdentifier (const LinearViewObjectIdentifier &other)
 

Public Attributes

std::string name
 
BNLinearViewObjectIdentifierType type
 
uint64_t start
 
uint64_t end
 

Constructor & Destructor Documentation

◆ LinearViewObjectIdentifier() [1/5]

LinearViewObjectIdentifier::LinearViewObjectIdentifier ( )

◆ LinearViewObjectIdentifier() [2/5]

BinaryNinja::LinearViewObjectIdentifier::LinearViewObjectIdentifier ( const std::string &  name)

◆ LinearViewObjectIdentifier() [3/5]

BinaryNinja::LinearViewObjectIdentifier::LinearViewObjectIdentifier ( const std::string &  name,
uint64_t  addr 
)

◆ LinearViewObjectIdentifier() [4/5]

BinaryNinja::LinearViewObjectIdentifier::LinearViewObjectIdentifier ( const std::string &  name,
uint64_t  start,
uint64_t  end 
)

◆ LinearViewObjectIdentifier() [5/5]

LinearViewObjectIdentifier::LinearViewObjectIdentifier ( const LinearViewObjectIdentifier other)

Member Data Documentation

◆ name

std::string BinaryNinja::LinearViewObjectIdentifier::name

◆ type

BNLinearViewObjectIdentifierType BinaryNinja::LinearViewObjectIdentifier::type

◆ start

uint64_t BinaryNinja::LinearViewObjectIdentifier::start

◆ end

uint64_t BinaryNinja::LinearViewObjectIdentifier::end

◆ BinaryNinja::LinearViewObject

class BinaryNinja::LinearViewObject

Public Member Functions

 LinearViewObject (BNLinearViewObject *obj)
 
Ref< LinearViewObjectGetFirstChild ()
 
Ref< LinearViewObjectGetLastChild ()
 
Ref< LinearViewObjectGetPreviousChild (LinearViewObject *obj)
 
Ref< LinearViewObjectGetNextChild (LinearViewObject *obj)
 
Ref< LinearViewObjectGetChildForAddress (uint64_t addr)
 
Ref< LinearViewObjectGetChildForIdentifier (const LinearViewObjectIdentifier &id)
 
int CompareChildren (LinearViewObject *a, LinearViewObject *b)
 
std::vector< LinearDisassemblyLineGetLines (LinearViewObject *prev, LinearViewObject *next)
 
uint64_t GetStart () const
 
uint64_t GetEnd () const
 
LinearViewObjectIdentifier GetIdentifier () const
 
uint64_t GetOrderingIndexTotal () const
 
uint64_t GetOrderingIndexForChild (LinearViewObject *obj) const
 
Ref< LinearViewObjectGetChildForOrderingIndex (uint64_t idx)
 
- Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLinearViewObject, BNNewLinearViewObjectReference, BNFreeLinearViewObject >
 CoreRefCountObject ()
 
virtual ~CoreRefCountObject ()
 
BNLinearViewObjectGetObject () const
 
void AddRef ()
 
void Release ()
 
void AddRefForRegistration ()
 
void ReleaseForRegistration ()
 
void AddRefForCallback ()
 
void ReleaseForCallback ()
 

Static Public Member Functions

static Ref< LinearViewObjectCreateDisassembly (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateLiftedIL (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateLowLevelIL (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateLowLevelILSSAForm (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateMediumLevelIL (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateMediumLevelILSSAForm (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateMappedMediumLevelIL (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateMappedMediumLevelILSSAForm (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateHighLevelIL (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateHighLevelILSSAForm (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateLanguageRepresentation (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateDataOnly (BinaryView *view, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionDisassembly (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionLiftedIL (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionLowLevelIL (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionLowLevelILSSAForm (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionMediumLevelIL (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionMediumLevelILSSAForm (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionMappedMediumLevelIL (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionMappedMediumLevelILSSAForm (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionHighLevelIL (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionHighLevelILSSAForm (Function *func, DisassemblySettings *settings)
 
static Ref< LinearViewObjectCreateSingleFunctionLanguageRepresentation (Function *func, DisassemblySettings *settings)
 
- Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLinearViewObject, BNNewLinearViewObjectReference, BNFreeLinearViewObject >
static BNLinearViewObjectGetObject (CoreRefCountObject *obj)
 
static BNLinearViewObjectGetObject (const CoreRefCountObject *obj)
 

Additional Inherited Members

- Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNLinearViewObject, BNNewLinearViewObjectReference, BNFreeLinearViewObject >
std::atomic< int > m_refs
 
bool m_registeredRef
 
BNLinearViewObjectm_object
 

Constructor & Destructor Documentation

◆ LinearViewObject()

LinearViewObject::LinearViewObject ( BNLinearViewObject obj)

Member Function Documentation

◆ GetFirstChild()

Ref< LinearViewObject > LinearViewObject::GetFirstChild ( )

◆ GetLastChild()

Ref< LinearViewObject > LinearViewObject::GetLastChild ( )

◆ GetPreviousChild()

Ref< LinearViewObject > LinearViewObject::GetPreviousChild ( LinearViewObject obj)

◆ GetNextChild()

Ref< LinearViewObject > LinearViewObject::GetNextChild ( LinearViewObject obj)

◆ GetChildForAddress()

Ref< LinearViewObject > LinearViewObject::GetChildForAddress ( uint64_t  addr)

◆ GetChildForIdentifier()

Ref< LinearViewObject > LinearViewObject::GetChildForIdentifier ( const LinearViewObjectIdentifier id)

◆ CompareChildren()

int LinearViewObject::CompareChildren ( LinearViewObject a,
LinearViewObject b 
)

◆ GetLines()

vector< LinearDisassemblyLine > LinearViewObject::GetLines ( LinearViewObject prev,
LinearViewObject next 
)

◆ GetStart()

uint64_t LinearViewObject::GetStart ( ) const

◆ GetEnd()

uint64_t LinearViewObject::GetEnd ( ) const

◆ GetIdentifier()

LinearViewObjectIdentifier LinearViewObject::GetIdentifier ( ) const

◆ GetOrderingIndexTotal()

uint64_t LinearViewObject::GetOrderingIndexTotal ( ) const

◆ GetOrderingIndexForChild()

uint64_t LinearViewObject::GetOrderingIndexForChild ( LinearViewObject obj) const

◆ GetChildForOrderingIndex()

Ref< LinearViewObject > LinearViewObject::GetChildForOrderingIndex ( uint64_t  idx)

◆ CreateDisassembly()

Ref< LinearViewObject > LinearViewObject::CreateDisassembly ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateLiftedIL()

Ref< LinearViewObject > LinearViewObject::CreateLiftedIL ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateLowLevelIL()

Ref< LinearViewObject > LinearViewObject::CreateLowLevelIL ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateLowLevelILSSAForm()

Ref< LinearViewObject > LinearViewObject::CreateLowLevelILSSAForm ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateMediumLevelIL()

Ref< LinearViewObject > LinearViewObject::CreateMediumLevelIL ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateMediumLevelILSSAForm()

Ref< LinearViewObject > LinearViewObject::CreateMediumLevelILSSAForm ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateMappedMediumLevelIL()

Ref< LinearViewObject > LinearViewObject::CreateMappedMediumLevelIL ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateMappedMediumLevelILSSAForm()

Ref< LinearViewObject > LinearViewObject::CreateMappedMediumLevelILSSAForm ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateHighLevelIL()

Ref< LinearViewObject > LinearViewObject::CreateHighLevelIL ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateHighLevelILSSAForm()

Ref< LinearViewObject > LinearViewObject::CreateHighLevelILSSAForm ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateLanguageRepresentation()

Ref< LinearViewObject > LinearViewObject::CreateLanguageRepresentation ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateDataOnly()

Ref< LinearViewObject > LinearViewObject::CreateDataOnly ( BinaryView view,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionDisassembly()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionDisassembly ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionLiftedIL()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionLiftedIL ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionLowLevelIL()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionLowLevelIL ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionLowLevelILSSAForm()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionLowLevelILSSAForm ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionMediumLevelIL()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionMediumLevelIL ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionMediumLevelILSSAForm()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionMediumLevelILSSAForm ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionMappedMediumLevelIL()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionMappedMediumLevelIL ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionMappedMediumLevelILSSAForm()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionMappedMediumLevelILSSAForm ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionHighLevelIL()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionHighLevelIL ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionHighLevelILSSAForm()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionHighLevelILSSAForm ( Function func,
DisassemblySettings settings 
)
static

◆ CreateSingleFunctionLanguageRepresentation()

Ref< LinearViewObject > LinearViewObject::CreateSingleFunctionLanguageRepresentation ( Function func,
DisassemblySettings settings 
)
static

◆ BinaryNinja::LinearViewCursor

class BinaryNinja::LinearViewCursor

Public Member Functions

 LinearViewCursor (LinearViewObject *root)
 
 LinearViewCursor (BNLinearViewCursor *cursor)
 
bool IsBeforeBegin () const
 
bool IsAfterEnd () const
 
bool IsValid () const
 
Ref< LinearViewObjectGetCurrentObject () const
 
std::vector< LinearViewObjectIdentifierGetPath () const
 
std::vector< Ref< LinearViewObject > > GetPathObjects () const
 
BNAddressRange GetOrderingIndex () const
 
uint64_t GetOrderingIndexTotal () const
 
void SeekToBegin ()
 
void SeekToEnd ()
 
void SeekToAddress (uint64_t addr)
 
bool SeekToPath (const std::vector< LinearViewObjectIdentifier > &path)
 
bool SeekToPath (const std::vector< LinearViewObjectIdentifier > &path, uint64_t addr)
 
bool SeekToPath (LinearViewCursor *cursor)
 
bool SeekToPath (LinearViewCursor *cursor, uint64_t addr)
 
void SeekToOrderingIndex (uint64_t idx)
 
bool Next ()
 
bool Previous ()
 
std::vector< LinearDisassemblyLineGetLines ()
 
Ref< LinearViewCursorDuplicate ()
 
- Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLinearViewCursor, BNNewLinearViewCursorReference, BNFreeLinearViewCursor >
 CoreRefCountObject ()
 
virtual ~CoreRefCountObject ()
 
BNLinearViewCursorGetObject () const
 
void AddRef ()
 
void Release ()
 
void AddRefForRegistration ()
 
void ReleaseForRegistration ()
 
void AddRefForCallback ()
 
void ReleaseForCallback ()
 

Static Public Member Functions

static int Compare (LinearViewCursor *a, LinearViewCursor *b)
 
- Static Public Member Functions inherited from BinaryNinja::CoreRefCountObject< BNLinearViewCursor, BNNewLinearViewCursorReference, BNFreeLinearViewCursor >
static BNLinearViewCursorGetObject (CoreRefCountObject *obj)
 
static BNLinearViewCursorGetObject (const CoreRefCountObject *obj)
 

Additional Inherited Members

- Public Attributes inherited from BinaryNinja::CoreRefCountObject< BNLinearViewCursor, BNNewLinearViewCursorReference, BNFreeLinearViewCursor >
std::atomic< int > m_refs
 
bool m_registeredRef
 
BNLinearViewCursorm_object
 

Constructor & Destructor Documentation

◆ LinearViewCursor() [1/2]

LinearViewCursor::LinearViewCursor ( LinearViewObject root)

◆ LinearViewCursor() [2/2]

LinearViewCursor::LinearViewCursor ( BNLinearViewCursor cursor)

Member Function Documentation

◆ IsBeforeBegin()

bool LinearViewCursor::IsBeforeBegin ( ) const

◆ IsAfterEnd()

bool LinearViewCursor::IsAfterEnd ( ) const

◆ IsValid()

bool LinearViewCursor::IsValid ( ) const

◆ GetCurrentObject()

Ref< LinearViewObject > LinearViewCursor::GetCurrentObject ( ) const

◆ GetPath()

vector< LinearViewObjectIdentifier > LinearViewCursor::GetPath ( ) const

◆ GetPathObjects()

vector< Ref< LinearViewObject > > LinearViewCursor::GetPathObjects ( ) const

◆ GetOrderingIndex()

BNAddressRange LinearViewCursor::GetOrderingIndex ( ) const

◆ GetOrderingIndexTotal()

uint64_t LinearViewCursor::GetOrderingIndexTotal ( ) const

◆ SeekToBegin()

void LinearViewCursor::SeekToBegin ( )

◆ SeekToEnd()

void LinearViewCursor::SeekToEnd ( )

◆ SeekToAddress()

void LinearViewCursor::SeekToAddress ( uint64_t  addr)

◆ SeekToPath() [1/4]

bool BinaryNinja::LinearViewCursor::SeekToPath ( const std::vector< LinearViewObjectIdentifier > &  path)

◆ SeekToPath() [2/4]

bool BinaryNinja::LinearViewCursor::SeekToPath ( const std::vector< LinearViewObjectIdentifier > &  path,
uint64_t  addr 
)

◆ SeekToPath() [3/4]

bool LinearViewCursor::SeekToPath ( LinearViewCursor cursor)

◆ SeekToPath() [4/4]

bool LinearViewCursor::SeekToPath ( LinearViewCursor cursor,
uint64_t  addr 
)

◆ SeekToOrderingIndex()

void LinearViewCursor::SeekToOrderingIndex ( uint64_t  idx)

◆ Next()

bool LinearViewCursor::Next ( )

◆ Previous()

bool LinearViewCursor::Previous ( )

◆ GetLines()

vector< LinearDisassemblyLine > LinearViewCursor::GetLines ( )

◆ Duplicate()

Ref< LinearViewCursor > LinearViewCursor::Duplicate ( )

◆ Compare()

int LinearViewCursor::Compare ( LinearViewCursor a,
LinearViewCursor b 
)
static