MemoryMap

Detailed Description

Classes

class  DataComparedTableItem
 
class  MemoryMapItemDelegate
 
class  SegmentDialog
 
class  SectionDialog
 
class  SegmentWidget
 
class  SectionWidget
 
class  MemoryMapView
 
class  MemoryMapContainer
 
class  MemoryMapViewType
 
class  MemoryMapSidebarWidget
 
class  MemoryMapSidebarWidgetType
 

Class Documentation

◆ DataComparedTableItem

class DataComparedTableItem

Public Member Functions

 DataComparedTableItem (const QString &text, int type=QTableWidgetItem::ItemType::Type)
 
bool operator< (const QTableWidgetItem &other) const
 

Constructor & Destructor Documentation

◆ DataComparedTableItem()

DataComparedTableItem::DataComparedTableItem ( const QString &  text,
int  type = QTableWidgetItem::ItemType::Type 
)
inline

Member Function Documentation

◆ operator<()

bool DataComparedTableItem::operator< ( const QTableWidgetItem &  other) const

◆ MemoryMapItemDelegate

class MemoryMapItemDelegate

Public Member Functions

 MemoryMapItemDelegate (QObject *parent=nullptr)
 
virtual void paint (QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
 

Constructor & Destructor Documentation

◆ MemoryMapItemDelegate()

MemoryMapItemDelegate::MemoryMapItemDelegate ( QObject *  parent = nullptr)
inline

Member Function Documentation

◆ paint()

virtual void MemoryMapItemDelegate::paint ( QPainter *  painter,
const QStyleOptionViewItem &  option,
const QModelIndex &  index 
) const
overridevirtual

◆ SegmentDialog

class SegmentDialog

Public Member Functions

 SegmentDialog (QWidget *parent, BinaryViewRef data, SegmentRef segment=nullptr)
 

Constructor & Destructor Documentation

◆ SegmentDialog()

SegmentDialog::SegmentDialog ( QWidget *  parent,
BinaryViewRef  data,
SegmentRef  segment = nullptr 
)

◆ SectionDialog

class SectionDialog

Public Member Functions

 SectionDialog (QWidget *parent, BinaryViewRef data, SectionRef section=nullptr)
 

Constructor & Destructor Documentation

◆ SectionDialog()

SectionDialog::SectionDialog ( QWidget *  parent,
BinaryViewRef  data,
SectionRef  section = nullptr 
)

◆ SegmentWidget

class SegmentWidget

Signals

void currentSegmentChanged (SegmentRef current)
 
void addressDoubleClicked (uint64_t address)
 
void rawAddressDoubleClicked (uint64_t address)
 
void segmentsChanged ()
 

Public Member Functions

 SegmentWidget (BinaryViewRef data)
 
virtual ~SegmentWidget ()
 
void updateFont ()
 
void highlightRelatedSegments (SectionRef section)
 
void itemChanged (QTableWidgetItem *current, QTableWidgetItem *previous)
 
virtual void OnSegmentAdded (BinaryNinja::BinaryView *data, BinaryNinja::Segment *segment) override
 
virtual void OnSegmentUpdated (BinaryNinja::BinaryView *data, BinaryNinja::Segment *segment) override
 
virtual void OnSegmentRemoved (BinaryNinja::BinaryView *data, BinaryNinja::Segment *segment) override
 
- Public Member Functions inherited from BinaryNinja::BinaryDataNotification
 BinaryDataNotification ()
 
 BinaryDataNotification (NotificationTypes notifications)
 
virtual ~BinaryDataNotification ()
 
BNBinaryDataNotificationGetCallbacks ()
 
virtual uint64_t OnNotificationBarrier (BinaryView *view)
 
virtual void OnBinaryDataWritten (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataInserted (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataRemoved (BinaryView *view, uint64_t offset, uint64_t len)
 
virtual void OnAnalysisFunctionAdded (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionRemoved (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdated (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdateRequested (BinaryView *view, Function *func)
 
virtual void OnDataVariableAdded (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableRemoved (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableUpdated (BinaryView *view, const DataVariable &var)
 
virtual void OnDataMetadataUpdated (BinaryView *view, uint64_t offset)
 
virtual void OnTagTypeUpdated (BinaryView *view, Ref< TagType > tagTypeRef)
 
virtual void OnTagAdded (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagRemoved (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagUpdated (BinaryView *view, const TagReference &tagRef)
 
virtual void OnSymbolAdded (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolRemoved (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolUpdated (BinaryView *view, Symbol *sym)
 
virtual void OnStringFound (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnStringRemoved (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnTypeDefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeUndefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeReferenceChanged (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeFieldReferenceChanged (BinaryView *data, const QualifiedName &name, uint64_t offset)
 
virtual void OnSegmentAdded (BinaryView *data, Segment *segment)
 
virtual void OnSegmentRemoved (BinaryView *data, Segment *segment)
 
virtual void OnSegmentUpdated (BinaryView *data, Segment *segment)
 
virtual void OnSectionAdded (BinaryView *data, Section *section)
 
virtual void OnSectionRemoved (BinaryView *data, Section *section)
 
virtual void OnSectionUpdated (BinaryView *data, Section *section)
 
virtual void OnComponentNameUpdated (BinaryView *data, std::string &previousName, Component *component)
 This notification is posted after the display name for a component is updated. More...
 
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree. More...
 
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree. More...
 
virtual void OnComponentMoved (BinaryView *data, Component *formerParent, Component *newParent, Component *component)
 This notification is posted whenever a component is moved from one component to another. More...
 
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component. More...
 
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component. More...
 
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component. More...
 
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component. More...
 
virtual void OnExternalLibraryAdded (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryRemoved (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryUpdated (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLocationAdded (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationRemoved (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationUpdated (BinaryView *data, ExternalLocation *location)
 
virtual void OnTypeArchiveAttached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is attached to a Binary View. More...
 
virtual void OnTypeArchiveDetached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is detached to a Binary View. More...
 
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected. More...
 
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected. More...
 
virtual void OnUndoEntryAdded (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an entry is added to undo history. More...
 
virtual void OnUndoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is undone. More...
 
virtual void OnRedoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is redone. More...
 
virtual void OnRebased (BinaryView *oldView, BinaryView *newView)
 This notification is posted whenever a binary view is rebased. More...
 

Additional Inherited Members

- Public Types inherited from BinaryNinja::BinaryDataNotification
enum  NotificationType : uint64_t {
  NotificationBarrier = 1ULL << 0 , DataWritten = 1ULL << 1 , DataInserted = 1ULL << 2 , DataRemoved = 1ULL << 3 ,
  FunctionAdded = 1ULL << 4 , FunctionRemoved = 1ULL << 5 , FunctionUpdated = 1ULL << 6 , FunctionUpdateRequested = 1ULL << 7 ,
  DataVariableAdded = 1ULL << 8 , DataVariableRemoved = 1ULL << 9 , DataVariableUpdated = 1ULL << 10 , DataMetadataUpdated = 1ULL << 11 ,
  TagTypeUpdated = 1ULL << 12 , TagAdded = 1ULL << 13 , TagRemoved = 1ULL << 14 , TagUpdated = 1ULL << 15 ,
  SymbolAdded = 1ULL << 16 , SymbolRemoved = 1ULL << 17 , SymbolUpdated = 1ULL << 18 , StringFound = 1ULL << 19 ,
  StringRemoved = 1ULL << 20 , TypeDefined = 1ULL << 21 , TypeUndefined = 1ULL << 22 , TypeReferenceChanged = 1ULL << 23 ,
  TypeFieldReferenceChanged = 1ULL << 24 , SegmentAdded = 1ULL << 25 , SegmentRemoved = 1ULL << 26 , SegmentUpdated = 1ULL << 27 ,
  SectionAdded = 1ULL << 28 , SectionRemoved = 1ULL << 29 , SectionUpdated = 1ULL << 30 , ComponentNameUpdated = 1ULL << 31 ,
  ComponentAdded = 1ULL << 32 , ComponentRemoved = 1ULL << 33 , ComponentMoved = 1ULL << 34 , ComponentFunctionAdded = 1ULL << 35 ,
  ComponentFunctionRemoved = 1ULL << 36 , ComponentDataVariableAdded = 1ULL << 37 , ComponentDataVariableRemoved = 1ULL << 38 , ExternalLibraryAdded = 1ULL << 39 ,
  ExternalLibraryRemoved = 1ULL << 40 , ExternalLibraryUpdated = 1ULL << 41 , ExternalLocationAdded = 1ULL << 42 , ExternalLocationRemoved = 1ULL << 43 ,
  ExternalLocationUpdated = 1ULL << 44 , TypeArchiveAttached = 1ULL << 45 , TypeArchiveDetached = 1ULL << 46 , TypeArchiveConnected = 1ULL << 47 ,
  TypeArchiveDisconnected = 1ULL << 48 , UndoEntryAdded = 1ULL << 49 , UndoEntryTaken = 1ULL << 50 , RedoEntryTaken = 1ULL << 51 ,
  Rebased = 1ULL << 52 , BinaryDataUpdates = DataWritten | DataInserted | DataRemoved , FunctionLifetime = FunctionAdded | FunctionRemoved , FunctionUpdates = FunctionLifetime | FunctionUpdated ,
  DataVariableLifetime = DataVariableAdded | DataVariableRemoved , DataVariableUpdates = DataVariableLifetime | DataVariableUpdated , TagLifetime = TagAdded | TagRemoved , TagUpdates = TagLifetime | TagUpdated ,
  SymbolLifetime = SymbolAdded | SymbolRemoved , SymbolUpdates = SymbolLifetime | SymbolUpdated , StringUpdates = StringFound | StringRemoved , TypeLifetime = TypeDefined | TypeUndefined ,
  TypeUpdates = TypeLifetime | TypeReferenceChanged | TypeFieldReferenceChanged , SegmentLifetime = SegmentAdded | SegmentRemoved , SegmentUpdates = SegmentLifetime | SegmentUpdated , SectionLifetime = SectionAdded | SectionRemoved ,
  SectionUpdates = SectionLifetime | SectionUpdated , ComponentUpdates = ComponentNameUpdated | ComponentAdded | ComponentRemoved | ComponentMoved | ComponentFunctionAdded | ComponentFunctionRemoved | ComponentDataVariableAdded | ComponentDataVariableRemoved , ExternalLibraryLifetime = ExternalLibraryAdded | ExternalLibraryRemoved , ExternalLibraryUpdates = ExternalLibraryLifetime | ExternalLibraryUpdated ,
  ExternalLocationLifetime = ExternalLocationAdded | ExternalLocationRemoved , ExternalLocationUpdates = ExternalLocationLifetime | ExternalLocationUpdated , TypeArchiveUpdates = TypeArchiveAttached | TypeArchiveDetached | TypeArchiveConnected | TypeArchiveDisconnected , UndoUpdates = UndoEntryAdded | UndoEntryTaken | RedoEntryTaken
}
 
using NotificationTypes = uint64_t
 

Constructor & Destructor Documentation

◆ SegmentWidget()

SegmentWidget::SegmentWidget ( BinaryViewRef  data)

◆ ~SegmentWidget()

virtual SegmentWidget::~SegmentWidget ( )
virtual

Member Function Documentation

◆ updateFont()

void SegmentWidget::updateFont ( )

◆ highlightRelatedSegments()

void SegmentWidget::highlightRelatedSegments ( SectionRef  section)

◆ itemChanged()

void SegmentWidget::itemChanged ( QTableWidgetItem *  current,
QTableWidgetItem *  previous 
)

◆ OnSegmentAdded()

virtual void SegmentWidget::OnSegmentAdded ( BinaryNinja::BinaryView data,
BinaryNinja::Segment segment 
)
overridevirtual

◆ OnSegmentUpdated()

virtual void SegmentWidget::OnSegmentUpdated ( BinaryNinja::BinaryView data,
BinaryNinja::Segment segment 
)
overridevirtual

◆ OnSegmentRemoved()

virtual void SegmentWidget::OnSegmentRemoved ( BinaryNinja::BinaryView data,
BinaryNinja::Segment segment 
)
overridevirtual

◆ currentSegmentChanged

void SegmentWidget::currentSegmentChanged ( SegmentRef  current)
signal

◆ addressDoubleClicked

void SegmentWidget::addressDoubleClicked ( uint64_t  address)
signal

◆ rawAddressDoubleClicked

void SegmentWidget::rawAddressDoubleClicked ( uint64_t  address)
signal

◆ segmentsChanged

void SegmentWidget::segmentsChanged ( )
signal

◆ SectionWidget

class SectionWidget

Signals

void currentSectionChanged (SectionRef current)
 
void addressDoubleClicked (uint64_t address)
 
void sectionsChanged ()
 

Public Member Functions

 SectionWidget (BinaryViewRef data)
 
virtual ~SectionWidget ()
 
void updateFont ()
 
void highlightRelatedSections (SegmentRef segment)
 
void itemChanged (QTableWidgetItem *current, QTableWidgetItem *previous)
 
virtual void OnSectionAdded (BinaryNinja::BinaryView *data, BinaryNinja::Section *section) override
 
virtual void OnSectionUpdated (BinaryNinja::BinaryView *data, BinaryNinja::Section *section) override
 
virtual void OnSectionRemoved (BinaryNinja::BinaryView *data, BinaryNinja::Section *section) override
 
- Public Member Functions inherited from BinaryNinja::BinaryDataNotification
 BinaryDataNotification ()
 
 BinaryDataNotification (NotificationTypes notifications)
 
virtual ~BinaryDataNotification ()
 
BNBinaryDataNotificationGetCallbacks ()
 
virtual uint64_t OnNotificationBarrier (BinaryView *view)
 
virtual void OnBinaryDataWritten (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataInserted (BinaryView *view, uint64_t offset, size_t len)
 
virtual void OnBinaryDataRemoved (BinaryView *view, uint64_t offset, uint64_t len)
 
virtual void OnAnalysisFunctionAdded (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionRemoved (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdated (BinaryView *view, Function *func)
 
virtual void OnAnalysisFunctionUpdateRequested (BinaryView *view, Function *func)
 
virtual void OnDataVariableAdded (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableRemoved (BinaryView *view, const DataVariable &var)
 
virtual void OnDataVariableUpdated (BinaryView *view, const DataVariable &var)
 
virtual void OnDataMetadataUpdated (BinaryView *view, uint64_t offset)
 
virtual void OnTagTypeUpdated (BinaryView *view, Ref< TagType > tagTypeRef)
 
virtual void OnTagAdded (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagRemoved (BinaryView *view, const TagReference &tagRef)
 
virtual void OnTagUpdated (BinaryView *view, const TagReference &tagRef)
 
virtual void OnSymbolAdded (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolRemoved (BinaryView *view, Symbol *sym)
 
virtual void OnSymbolUpdated (BinaryView *view, Symbol *sym)
 
virtual void OnStringFound (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnStringRemoved (BinaryView *data, BNStringType type, uint64_t offset, size_t len)
 
virtual void OnTypeDefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeUndefined (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeReferenceChanged (BinaryView *data, const QualifiedName &name, Type *type)
 
virtual void OnTypeFieldReferenceChanged (BinaryView *data, const QualifiedName &name, uint64_t offset)
 
virtual void OnSegmentAdded (BinaryView *data, Segment *segment)
 
virtual void OnSegmentRemoved (BinaryView *data, Segment *segment)
 
virtual void OnSegmentUpdated (BinaryView *data, Segment *segment)
 
virtual void OnSectionAdded (BinaryView *data, Section *section)
 
virtual void OnSectionRemoved (BinaryView *data, Section *section)
 
virtual void OnSectionUpdated (BinaryView *data, Section *section)
 
virtual void OnComponentNameUpdated (BinaryView *data, std::string &previousName, Component *component)
 This notification is posted after the display name for a component is updated. More...
 
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree. More...
 
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree. More...
 
virtual void OnComponentMoved (BinaryView *data, Component *formerParent, Component *newParent, Component *component)
 This notification is posted whenever a component is moved from one component to another. More...
 
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component. More...
 
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component. More...
 
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component. More...
 
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component. More...
 
virtual void OnExternalLibraryAdded (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryRemoved (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLibraryUpdated (BinaryView *data, ExternalLibrary *library)
 
virtual void OnExternalLocationAdded (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationRemoved (BinaryView *data, ExternalLocation *location)
 
virtual void OnExternalLocationUpdated (BinaryView *data, ExternalLocation *location)
 
virtual void OnTypeArchiveAttached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is attached to a Binary View. More...
 
virtual void OnTypeArchiveDetached (BinaryView *data, const std::string &id, const std::string &path)
 This notification is posted whenever a Type Archive is detached to a Binary View. More...
 
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected. More...
 
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected. More...
 
virtual void OnUndoEntryAdded (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an entry is added to undo history. More...
 
virtual void OnUndoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is undone. More...
 
virtual void OnRedoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is redone. More...
 
virtual void OnRebased (BinaryView *oldView, BinaryView *newView)
 This notification is posted whenever a binary view is rebased. More...
 

Additional Inherited Members

- Public Types inherited from BinaryNinja::BinaryDataNotification
enum  NotificationType : uint64_t {
  NotificationBarrier = 1ULL << 0 , DataWritten = 1ULL << 1 , DataInserted = 1ULL << 2 , DataRemoved = 1ULL << 3 ,
  FunctionAdded = 1ULL << 4 , FunctionRemoved = 1ULL << 5 , FunctionUpdated = 1ULL << 6 , FunctionUpdateRequested = 1ULL << 7 ,
  DataVariableAdded = 1ULL << 8 , DataVariableRemoved = 1ULL << 9 , DataVariableUpdated = 1ULL << 10 , DataMetadataUpdated = 1ULL << 11 ,
  TagTypeUpdated = 1ULL << 12 , TagAdded = 1ULL << 13 , TagRemoved = 1ULL << 14 , TagUpdated = 1ULL << 15 ,
  SymbolAdded = 1ULL << 16 , SymbolRemoved = 1ULL << 17 , SymbolUpdated = 1ULL << 18 , StringFound = 1ULL << 19 ,
  StringRemoved = 1ULL << 20 , TypeDefined = 1ULL << 21 , TypeUndefined = 1ULL << 22 , TypeReferenceChanged = 1ULL << 23 ,
  TypeFieldReferenceChanged = 1ULL << 24 , SegmentAdded = 1ULL << 25 , SegmentRemoved = 1ULL << 26 , SegmentUpdated = 1ULL << 27 ,
  SectionAdded = 1ULL << 28 , SectionRemoved = 1ULL << 29 , SectionUpdated = 1ULL << 30 , ComponentNameUpdated = 1ULL << 31 ,
  ComponentAdded = 1ULL << 32 , ComponentRemoved = 1ULL << 33 , ComponentMoved = 1ULL << 34 , ComponentFunctionAdded = 1ULL << 35 ,
  ComponentFunctionRemoved = 1ULL << 36 , ComponentDataVariableAdded = 1ULL << 37 , ComponentDataVariableRemoved = 1ULL << 38 , ExternalLibraryAdded = 1ULL << 39 ,
  ExternalLibraryRemoved = 1ULL << 40 , ExternalLibraryUpdated = 1ULL << 41 , ExternalLocationAdded = 1ULL << 42 , ExternalLocationRemoved = 1ULL << 43 ,
  ExternalLocationUpdated = 1ULL << 44 , TypeArchiveAttached = 1ULL << 45 , TypeArchiveDetached = 1ULL << 46 , TypeArchiveConnected = 1ULL << 47 ,
  TypeArchiveDisconnected = 1ULL << 48 , UndoEntryAdded = 1ULL << 49 , UndoEntryTaken = 1ULL << 50 , RedoEntryTaken = 1ULL << 51 ,
  Rebased = 1ULL << 52 , BinaryDataUpdates = DataWritten | DataInserted | DataRemoved , FunctionLifetime = FunctionAdded | FunctionRemoved , FunctionUpdates = FunctionLifetime | FunctionUpdated ,
  DataVariableLifetime = DataVariableAdded | DataVariableRemoved , DataVariableUpdates = DataVariableLifetime | DataVariableUpdated , TagLifetime = TagAdded | TagRemoved , TagUpdates = TagLifetime | TagUpdated ,
  SymbolLifetime = SymbolAdded | SymbolRemoved , SymbolUpdates = SymbolLifetime | SymbolUpdated , StringUpdates = StringFound | StringRemoved , TypeLifetime = TypeDefined | TypeUndefined ,
  TypeUpdates = TypeLifetime | TypeReferenceChanged | TypeFieldReferenceChanged , SegmentLifetime = SegmentAdded | SegmentRemoved , SegmentUpdates = SegmentLifetime | SegmentUpdated , SectionLifetime = SectionAdded | SectionRemoved ,
  SectionUpdates = SectionLifetime | SectionUpdated , ComponentUpdates = ComponentNameUpdated | ComponentAdded | ComponentRemoved | ComponentMoved | ComponentFunctionAdded | ComponentFunctionRemoved | ComponentDataVariableAdded | ComponentDataVariableRemoved , ExternalLibraryLifetime = ExternalLibraryAdded | ExternalLibraryRemoved , ExternalLibraryUpdates = ExternalLibraryLifetime | ExternalLibraryUpdated ,
  ExternalLocationLifetime = ExternalLocationAdded | ExternalLocationRemoved , ExternalLocationUpdates = ExternalLocationLifetime | ExternalLocationUpdated , TypeArchiveUpdates = TypeArchiveAttached | TypeArchiveDetached | TypeArchiveConnected | TypeArchiveDisconnected , UndoUpdates = UndoEntryAdded | UndoEntryTaken | RedoEntryTaken
}
 
using NotificationTypes = uint64_t
 

Constructor & Destructor Documentation

◆ SectionWidget()

SectionWidget::SectionWidget ( BinaryViewRef  data)

◆ ~SectionWidget()

virtual SectionWidget::~SectionWidget ( )
virtual

Member Function Documentation

◆ updateFont()

void SectionWidget::updateFont ( )

◆ highlightRelatedSections()

void SectionWidget::highlightRelatedSections ( SegmentRef  segment)

◆ itemChanged()

void SectionWidget::itemChanged ( QTableWidgetItem *  current,
QTableWidgetItem *  previous 
)

◆ OnSectionAdded()

virtual void SectionWidget::OnSectionAdded ( BinaryNinja::BinaryView data,
BinaryNinja::Section section 
)
overridevirtual

◆ OnSectionUpdated()

virtual void SectionWidget::OnSectionUpdated ( BinaryNinja::BinaryView data,
BinaryNinja::Section section 
)
overridevirtual

◆ OnSectionRemoved()

virtual void SectionWidget::OnSectionRemoved ( BinaryNinja::BinaryView data,
BinaryNinja::Section section 
)
overridevirtual

◆ currentSectionChanged

void SectionWidget::currentSectionChanged ( SectionRef  current)
signal

◆ addressDoubleClicked

void SectionWidget::addressDoubleClicked ( uint64_t  address)
signal

◆ sectionsChanged

void SectionWidget::sectionsChanged ( )
signal

◆ MemoryMapView

class MemoryMapView

Public Member Functions

 MemoryMapView (BinaryViewRef data, MemoryMapContainer *container)
 
BinaryViewRef getData () override
 
uint64_t getCurrentOffset () override
 
BNAddressRange getSelectionOffsets () override
 
void setSelectionOffsets (BNAddressRange range) override
 
bool navigate (uint64_t offset) override
 
QFont getFont () override
 
void setCurrentOffset (uint64_t offset)
 
void updateFonts () override
 
- Public Member Functions inherited from View
 View ()
 
virtual ~View ()
 
void enableRefreshTimer (QWidget *owner, int interval)
 
void setRefreshQuiesce (bool enable)
 
bool isQuiesced () const
 
virtual void notifyRefresh ()
 
virtual void notifyQuiesce (bool)
 
void setupView (QWidget *widget)
 
virtual bool canAssemble ()
 
virtual bool canCompile ()
 
virtual bool findNextData (uint64_t start, uint64_t end, const BinaryNinja::DataBuffer &data, uint64_t &addr, BNFindFlag flags, const std::function< bool(size_t current, size_t total)> &cb)
 
virtual bool findNextText (uint64_t start, uint64_t end, const std::string &text, uint64_t &addr, DisassemblySettingsRef settings, BNFindFlag flags, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb)
 
virtual bool findNextConstant (uint64_t start, uint64_t end, uint64_t constant, uint64_t &addr, DisassemblySettingsRef settings, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb)
 
virtual bool findAllData (uint64_t start, uint64_t end, const BinaryNinja::DataBuffer &data, BNFindFlag flags, const std::function< bool(size_t current, size_t total)> &cb, const std::function< bool(uint64_t addr, const BinaryNinja::DataBuffer &match)> &matchCallback)
 
virtual bool findAllText (uint64_t start, uint64_t end, const std::string &data, DisassemblySettingsRef settings, BNFindFlag flags, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb, const std::function< bool(uint64_t addr, const std::string &match, const BinaryNinja::LinearDisassemblyLine &line)> &matchCallback)
 
virtual bool findAllConstant (uint64_t start, uint64_t end, uint64_t constant, DisassemblySettingsRef settings, BNFunctionGraphType graph, const std::function< bool(size_t current, size_t total)> &cb, const std::function< bool(uint64_t addr, const BinaryNinja::LinearDisassemblyLine &line)> &matchCallback)
 
virtual BinaryViewRef getData ()=0
 
virtual uint64_t getCurrentOffset ()=0
 
virtual BNAddressRange getSelectionOffsets ()
 
virtual SelectionInfoForXref getSelectionForXref ()
 
virtual void setSelectionOffsets (BNAddressRange range)=0
 
virtual bool navigate (uint64_t offset)=0
 
virtual bool navigateToFunction (FunctionRef func, uint64_t offset)
 
virtual bool goToReference (FunctionRef func, uint64_t source, uint64_t target)
 
virtual bool navigateToViewLocation (const ViewLocation &viewLocation, bool center=false)
 
bool navigateOnOtherPane (uint64_t offset)
 
bool navigateToFunctionOnOtherPane (FunctionRef func, uint64_t offset)
 
bool isBinaryDataNavigable ()
 
void setBinaryDataNavigable (bool navigable)
 
virtual bool closeRequest ()
 
virtual void closing ()
 
virtual void updateFonts ()
 
virtual void updateTheme ()
 
virtual void undo ()
 
virtual void redo ()
 
virtual bool canUndo ()
 
virtual bool canRedo ()
 
virtual void cut ()
 
virtual void copy (TransformRef xform=nullptr)
 
virtual void copyAddress ()
 
virtual void paste (TransformRef xform=nullptr)
 
virtual bool canCut ()
 
virtual bool canCopy ()
 
virtual bool canCopyWithTransform ()
 
virtual bool canCopyAddress ()
 
virtual bool canPaste ()
 
virtual bool canPasteWithTransform ()
 
virtual void transform (TransformRef xform, bool encode)
 
virtual bool canTransform ()
 
virtual void writeData (const BinaryNinja::DataBuffer &data, uint64_t addr)
 
virtual bool canDisplayAs (const UIActionContext &context, const BNIntegerDisplayType)
 
virtual void displayAs (const UIActionContext &context, BNIntegerDisplayType type)
 
virtual BinaryNinja::Ref< HistoryEntrygetHistoryEntry ()
 
virtual void navigateToHistoryEntry (BinaryNinja::Ref< HistoryEntry > entry)
 
virtual StatusBarWidgetgetStatusBarWidget ()
 
virtual ViewPaneHeaderSubtypeWidgetgetHeaderSubtypeWidget ()
 
virtual QWidget * getHeaderOptionsWidget ()
 
virtual FunctionRef getCurrentFunction ()
 
virtual BasicBlockRef getCurrentBasicBlock ()
 
virtual ArchitectureRef getCurrentArchitecture ()
 
virtual LowLevelILFunctionRef getCurrentLowLevelILFunction ()
 
virtual MediumLevelILFunctionRef getCurrentMediumLevelILFunction ()
 
virtual HighLevelILFunctionRef getCurrentHighLevelILFunction ()
 
virtual BNFunctionGraphType getILViewType ()
 
virtual void setILViewType (BNFunctionGraphType ilViewType)
 
virtual size_t getCurrentILInstructionIndex ()
 
virtual size_t getSelectionStartILInstructionIndex ()
 
virtual BNILIndexRange getILIndexRange ()
 
virtual QFont getFont ()=0
 
virtual DisassemblySettingsRef getDisassemblySettings ()
 
virtual void setDisassemblySettings (DisassemblySettingsRef settings)
 
virtual HighlightTokenState getHighlightTokenState ()
 
virtual UIActionContext actionContext ()
 
MenucontextMenu ()
 
UIActionHandleractionHandler ()
 
QWidget * widget ()
 
QString viewType ()
 
void updateCrossReferenceSelection (ViewFrame *frame=nullptr)
 
void forceSyncFromView (ViewFrame *frame=nullptr)
 
virtual void clearRelatedHighlights ()
 
virtual void setRelatedIndexHighlights (FunctionRef func, const std::set< size_t > &related)
 
virtual void setRelatedInstructionHighlights (FunctionRef func, const std::set< uint64_t > &related)
 

Additional Inherited Members

- Static Public Member Functions inherited from View
static ViewgetViewFromWidget (QWidget *widget)
 
static void registerActions ()
 
static void registerLateActions ()
 
- Protected Member Functions inherited from View
bool writeDataToClipboard (const BinaryNinja::DataBuffer &data, bool binary, TransformRef xform)
 
BinaryNinja::DataBuffer readDataFromClipboard (TransformRef xform)
 
virtual std::string getNavigationMode ()
 
virtual void setNavigationMode (std::string mode)
 
virtual std::vector< std::string > getNavigationModes ()
 
- Protected Attributes inherited from View
Menu m_contextMenu
 
UIActionHandler m_actionHandler
 
bool m_binaryDataNavigable = false
 
QPointer< TransformParameterDialogm_transformParamDialog
 
bool m_quiesceState = true
 
QTimer * m_updateTimer = nullptr
 

Constructor & Destructor Documentation

◆ MemoryMapView()

MemoryMapView::MemoryMapView ( BinaryViewRef  data,
MemoryMapContainer container 
)

Member Function Documentation

◆ getData()

BinaryViewRef MemoryMapView::getData ( )
inlineoverridevirtual

Implements View.

◆ getCurrentOffset()

uint64_t MemoryMapView::getCurrentOffset ( )
overridevirtual

Implements View.

◆ getSelectionOffsets()

BNAddressRange MemoryMapView::getSelectionOffsets ( )
overridevirtual

Reimplemented from View.

◆ setSelectionOffsets()

void MemoryMapView::setSelectionOffsets ( BNAddressRange  range)
overridevirtual

Implements View.

◆ navigate()

bool MemoryMapView::navigate ( uint64_t  offset)
overridevirtual

Implements View.

◆ getFont()

QFont MemoryMapView::getFont ( )
inlineoverridevirtual

Implements View.

◆ setCurrentOffset()

void MemoryMapView::setCurrentOffset ( uint64_t  offset)

◆ updateFonts()

void MemoryMapView::updateFonts ( )
overridevirtual

Reimplemented from View.

◆ MemoryMapContainer

class MemoryMapContainer

Public Member Functions

 MemoryMapContainer (BinaryViewRef data, MemoryMapSidebarWidget *parent)
 
virtual ViewgetView () override
 
MemoryMapViewgetMemoryMapView ()
 
- Public Member Functions inherited from ViewContainer
virtual ~ViewContainer ()
 
virtual ViewgetView ()=0
 

Protected Member Functions

virtual void focusInEvent (QFocusEvent *event) override
 

Friends

class StringsView
 

Constructor & Destructor Documentation

◆ MemoryMapContainer()

MemoryMapContainer::MemoryMapContainer ( BinaryViewRef  data,
MemoryMapSidebarWidget parent 
)

Member Function Documentation

◆ getView()

virtual View * MemoryMapContainer::getView ( )
inlineoverridevirtual

Implements ViewContainer.

◆ getMemoryMapView()

MemoryMapView * MemoryMapContainer::getMemoryMapView ( )
inline

◆ focusInEvent()

virtual void MemoryMapContainer::focusInEvent ( QFocusEvent *  event)
overrideprotectedvirtual

Friends And Related Function Documentation

◆ StringsView

friend class StringsView
friend

◆ MemoryMapViewType

class MemoryMapViewType

Public Member Functions

 MemoryMapViewType ()
 
virtual int getPriority (BinaryViewRef data, const QString &filename)
 
virtual QWidget * create (BinaryViewRef data, ViewFrame *viewFrame)
 
- Public Member Functions inherited from ViewType
 ViewType (const QString &name, const QString &longName)
 
virtual ~ViewType ()
 
const QString & getName ()
 
const QString & getLongName ()
 
virtual int getPriority (BinaryViewRef data, const QString &filename)=0
 
virtual QWidget * create (BinaryViewRef data, ViewFrame *viewFrame)=0
 
virtual QString getDisplayName (BinaryViewTypeRef type)
 
virtual QString getDisplayLongName (BinaryViewTypeRef type)
 

Static Public Member Functions

static void init ()
 
- Static Public Member Functions inherited from ViewType
static ViewTypegetTypeByName (const QString &name)
 
static const std::vector< ViewType * > & getTypes ()
 
static void registerViewType (ViewType *type)
 

Constructor & Destructor Documentation

◆ MemoryMapViewType()

MemoryMapViewType::MemoryMapViewType ( )

Member Function Documentation

◆ getPriority()

virtual int MemoryMapViewType::getPriority ( BinaryViewRef  data,
const QString &  filename 
)
virtual

Implements ViewType.

◆ create()

virtual QWidget * MemoryMapViewType::create ( BinaryViewRef  data,
ViewFrame viewFrame 
)
virtual

Implements ViewType.

◆ init()

static void MemoryMapViewType::init ( )
static

◆ MemoryMapSidebarWidget

class MemoryMapSidebarWidget

Public Member Functions

 MemoryMapSidebarWidget (BinaryViewRef data)
 
void focus () override
 
- Public Member Functions inherited from SidebarWidget
 SidebarWidget (const QString &title)
 
 ~SidebarWidget ()
 
const QString & title () const
 
void enableRefreshTimer (int interval)
 
void setRefreshQuiesce (bool enable)
 
bool isQuiesced () const
 
virtual void notifyRefresh ()
 
virtual void notifyQuiesce (bool)
 
virtual void notifyFontChanged ()
 
virtual void notifyOffsetChanged (uint64_t)
 
virtual void notifyThemeChanged ()
 
virtual void notifyViewChanged (ViewFrame *)
 
virtual void notifyViewLocationChanged (View *, const ViewLocation &)
 
virtual void focus ()
 
virtual void closing ()
 
virtual void setPrimaryOrientation (Qt::Orientation)
 
virtual QWidget * headerWidget ()
 

Friends

class MemoryMapView
 

Additional Inherited Members

- Protected Attributes inherited from SidebarWidget
QString m_title
 
UIActionHandler m_actionHandler
 
ContextMenuManagerm_contextMenuManager = nullptr
 
Menum_menu = nullptr
 
bool m_quiesceState = true
 
QTimer * m_updateTimer = nullptr
 

Constructor & Destructor Documentation

◆ MemoryMapSidebarWidget()

MemoryMapSidebarWidget::MemoryMapSidebarWidget ( BinaryViewRef  data)

Member Function Documentation

◆ focus()

void MemoryMapSidebarWidget::focus ( )
overridevirtual

Reimplemented from SidebarWidget.

Friends And Related Function Documentation

◆ MemoryMapView

friend class MemoryMapView
friend

◆ MemoryMapSidebarWidgetType

class MemoryMapSidebarWidgetType

Public Member Functions

 MemoryMapSidebarWidgetType ()
 
SidebarWidgetLocation defaultLocation () const override
 
SidebarContextSensitivity contextSensitivity () const override
 
SidebarWidgetcreateWidget (ViewFrame *frame, BinaryViewRef data) override
 
virtual bool canUseAsPane (SplitPaneWidget *, BinaryViewRef) const override
 
virtual PanecreatePane (SplitPaneWidget *panes, BinaryViewRef data) override
 
- Public Member Functions inherited from SidebarWidgetType
 SidebarWidgetType (const QImage &icon, const QString &name)
 
virtual ~SidebarWidgetType ()
 
const SidebarIconicon () const
 
const QString & name () const
 
virtual bool isInReferenceArea () const
 
virtual bool viewSensitive () const
 
virtual SidebarWidgetLocation defaultLocation () const
 
virtual SidebarContextSensitivity contextSensitivity () const
 
virtual bool alwaysShowTabs () const
 
virtual bool hideIfNoContent () const
 
virtual SidebarWidgetcreateWidget (ViewFrame *, BinaryViewRef)
 
virtual SidebarWidgetcreateInvalidContextWidget ()
 
virtual QWidget * headerWidget (SplitPaneWidget *, ViewFrame *, BinaryViewRef)
 
virtual bool focusHeaderWidget () const
 
virtual QString noWidgetMessage () const
 
virtual DockableTabStyletabStyle () const
 
virtual bool canUseAsPane (SplitPaneWidget *, BinaryViewRef) const
 
virtual PanecreatePane (SplitPaneWidget *, BinaryViewRef)
 
void updateTheme ()
 

Constructor & Destructor Documentation

◆ MemoryMapSidebarWidgetType()

MemoryMapSidebarWidgetType::MemoryMapSidebarWidgetType ( )

Member Function Documentation

◆ defaultLocation()

SidebarWidgetLocation MemoryMapSidebarWidgetType::defaultLocation ( ) const
inlineoverridevirtual

Reimplemented from SidebarWidgetType.

◆ contextSensitivity()

SidebarContextSensitivity MemoryMapSidebarWidgetType::contextSensitivity ( ) const
inlineoverridevirtual

Reimplemented from SidebarWidgetType.

◆ createWidget()

SidebarWidget * MemoryMapSidebarWidgetType::createWidget ( ViewFrame frame,
BinaryViewRef  data 
)
overridevirtual

Reimplemented from SidebarWidgetType.

◆ canUseAsPane()

virtual bool MemoryMapSidebarWidgetType::canUseAsPane ( SplitPaneWidget ,
BinaryViewRef   
) const
inlineoverridevirtual

Reimplemented from SidebarWidgetType.

◆ createPane()

virtual Pane * MemoryMapSidebarWidgetType::createPane ( SplitPaneWidget panes,
BinaryViewRef  data 
)
overridevirtual

Reimplemented from SidebarWidgetType.