Loading...
Searching...
No Matches
Disassemblyview

Detailed Description

Classes

class  DisassemblyHistoryEntry
class  DisassemblyView
class  GraphTypeLabel
class  DisassemblyFunctionHeader
class  DisassemblyContainer
class  DisassemblyViewType

Class Documentation

◆ DisassemblyHistoryEntry

class DisassemblyHistoryEntry

Public Member Functions

const BinaryNinja::FunctionViewTypegetGraphType () const
void setGraphType (const BinaryNinja::FunctionViewType &type)
virtual Json::Value serialize () const override
 Serialize to json representation.
virtual bool deserialize (const Json::Value &value) override
 Deserialize from json representation.
Public Member Functions inherited from FlowGraphHistoryEntry
PlatformRef getPlatform () const
ArchitectureRef getArchitecture () const
uint64_t getFunction () const
int getScrollX () const
int getScrollY () const
float getScale () const
uint64_t getCurrentAddress () const
const HighlightTokenStategetHighlightTokenState () const
void setPlatform (PlatformRef platform)
void setArchitecture (ArchitectureRef arch)
void setFunction (uint64_t f)
void setScrollX (int x)
void setScrollY (int y)
void setScale (float s)
void setCurrentAddress (uint64_t a)
void setHighlightTokenState (const HighlightTokenState &state)
Public Member Functions inherited from HistoryEntry
virtual ~HistoryEntry ()
QString getViewType () const
void setViewType (const QString &type)
Public Member Functions inherited from BinaryNinja::RefCountObject
 RefCountObject ()
virtual ~RefCountObject ()
RefCountObjectGetObject ()
void AddRef ()
void Release ()

Additional Inherited Members

Static Public Member Functions inherited from BinaryNinja::RefCountObject
static RefCountObjectGetObject (RefCountObject *obj)
Public Attributes inherited from BinaryNinja::RefCountObject
std::atomic< int > m_refs

Member Function Documentation

◆ getGraphType()

const BinaryNinja::FunctionViewType & DisassemblyHistoryEntry::getGraphType ( ) const
inline

◆ setGraphType()

void DisassemblyHistoryEntry::setGraphType ( const BinaryNinja::FunctionViewType & type)
inline

◆ serialize()

virtual Json::Value DisassemblyHistoryEntry::serialize ( ) const
overridevirtual

Serialize to json representation.

Returns
Json representation of history entry. In the Python api, this must be a dict.

Reimplemented from FlowGraphHistoryEntry.

◆ deserialize()

virtual bool DisassemblyHistoryEntry::deserialize ( const Json::Value & value)
overridevirtual

Deserialize from json representation.

This method should clear any previously entered data on the HistoryEntry as if it were newly created.

Parameters
valueJson representation of history entry. In the Python api, this will be a dict.
Returns
If deserialization was successful

Reimplemented from FlowGraphHistoryEntry.

◆ DisassemblyView

class DisassemblyView

Public Member Functions

 DisassemblyView (DisassemblyContainer *parent, BinaryViewRef data, FunctionRef func=nullptr, bool navToAddr=false, uint64_t addr=0)
virtual void notifyRefresh () override
virtual void updateFonts () override
virtual bool navigate (uint64_t pos) override
virtual bool navigateToFunction (FunctionRef func, uint64_t pos) override
virtual bool navigateToViewLocation (const ViewLocation &viewLocation, bool center=false) override
virtual BinaryNinja::Ref< HistoryEntrygetHistoryEntry () override
virtual void navigateToHistoryEntry (BinaryNinja::Ref< HistoryEntry > entry) override
virtual StatusBarWidgetgetStatusBarWidget () override
virtual ViewPaneHeaderSubtypeWidgetgetHeaderSubtypeWidget () override
virtual QWidget * getHeaderOptionsWidget () override
virtual BinaryNinja::FunctionViewType getILViewType () override
virtual void setILViewType (const BinaryNinja::FunctionViewType &ilViewType) override
void setOption (BNDisassemblyOption option, bool state=true)
void toggleOption (BNDisassemblyOption option)
void setAddressMode (std::optional< BNDisassemblyAddressMode > mode, std::optional< bool > hex, std::optional< bool > withName)
void setCallParamHints (BNDisassemblyCallParameterHints hints)
void setBlockLabels (BNDisassemblyBlockLabels labels)
void setDisplayedFileName ()
void setAddressBaseOffset (bool toHere)
void toggleRenderLayer (const std::string &layer)
FlowGraphRef applyRenderLayers (FlowGraphRef graph)
virtual void refreshContents () override
virtual DisassemblySettingsRef getDisassemblySettings () override
virtual void setDisassemblySettings (DisassemblySettingsRef settings) override
virtual void notifyUpdateInProgress (FunctionRef func) override
virtual void onFunctionSelected (FunctionRef func) override
virtual void onHighlightChanged (const HighlightTokenState &highlight) override
virtual void bindDynamicActions () override
Public Member Functions inherited from FlowGraphWidget
 FlowGraphWidget (QWidget *parent, BinaryViewRef view, FlowGraphRef graph=FlowGraphRef())
 ~FlowGraphWidget ()
virtual void OnAnalysisFunctionUpdated (BinaryNinja::BinaryView *data, BinaryNinja::Function *func) override
virtual void OnAnalysisFunctionUpdateRequested (BinaryNinja::BinaryView *data, BinaryNinja::Function *func) override
virtual void OnDataMetadataUpdated (BinaryNinja::BinaryView *data, uint64_t offset) override
virtual void OnTagAdded (BinaryNinja::BinaryView *data, const BinaryNinja::TagReference &tagRef) override
virtual void OnTagUpdated (BinaryNinja::BinaryView *data, const BinaryNinja::TagReference &tagRef) override
void setInitialGraph (FlowGraphRef graph)
void setInitialGraph (FlowGraphRef graph, uint64_t addr)
void setGraph (FlowGraphRef graph)
void setGraph (FlowGraphRef graph, uint64_t addr)
void setGraphAtIndex (FlowGraphRef graph, size_t index)
void setGraph (FlowGraphRef graph, BinaryNinja::Ref< FlowGraphHistoryEntry > entry)
void setRelatedGraph (FlowGraphRef graph)
void setRelatedGraph (FlowGraphRef graph, uint64_t addr)
void updateToGraph (FlowGraphRef graph)
virtual BinaryViewRef getData () override
virtual uint64_t getCurrentOffset () override
virtual BNAddressRange getSelectionOffsets () override
virtual SelectionInfoForXref getSelectionForXref () override
virtual void setSelectionOffsets (BNAddressRange range) override
bool navigateWithHistoryEntry (uint64_t addr, BinaryNinja::Ref< FlowGraphHistoryEntry > entry)
bool navigateWithHistoryEntry (FunctionRef func, uint64_t addr, BinaryNinja::Ref< FlowGraphHistoryEntry > entry)
void setNavigationTarget (View *target)
virtual void clearRelatedHighlights () override
virtual void setRelatedIndexHighlights (FunctionRef func, const std::set< size_t > &related) override
virtual void setRelatedInstructionHighlights (FunctionRef func, const std::set< uint64_t > &related) override
void enableInitialSizeToFit ()
float getScale () const
float maxScale () const
virtual void zoom (bool direction)
virtual void zoomToScale (float scale=1.0f)
virtual void zoomToCursor ()
virtual bool event (QEvent *event) override
void disableZoom ()
virtual void sendWheelEvent (QWheelEvent *event) override
virtual bool canCopyWithTransform () override
virtual bool canCut () override
virtual bool canCopy () override
virtual bool canCopyAddress () override
virtual bool canPaste () override
virtual void cut () override
virtual void copy (TransformRef xform) override
virtual void paste (TransformRef xform) override
virtual bool canAssemble () override
virtual bool canCompile () override
virtual void closing () override
void populateDefaultHistoryEntry (FlowGraphHistoryEntry *entry)
virtual FunctionRef getCurrentFunction () override
virtual BasicBlockRef getCurrentBasicBlock () override
virtual ArchitectureRef getCurrentArchitecture () override
virtual LowLevelILFunctionRef getCurrentLowLevelILFunction () override
virtual MediumLevelILFunctionRef getCurrentMediumLevelILFunction () override
virtual HighLevelILFunctionRef getCurrentHighLevelILFunction () override
virtual size_t getCurrentILInstructionIndex () override
virtual size_t getSelectionStartILInstructionIndex () override
virtual BNILIndexRange getILIndexRange () override
void scrollToCursor (bool center=false)
bool isUpdating ()
QFont getFont () override
virtual HighlightTokenState getHighlightTokenState () override
void paintMiniGraphAndViewport (QWidget *owner, QRect &miniRenderRect)
bool paintMiniGraph (QWidget *owner, QPainter &p, QRect &miniRenderRect)
void paintNode (QPainter &p, FlowGraphNodeRef &node, int minY, int maxY)
void paintHighlight (QPainter &p, const std::vector< BinaryNinja::DisassemblyTextLine > &lines, int nodeX, int nodeWidth, int x, int y, size_t line, int tagIndent)
void paintEdge (QPainter &p, const FlowGraphNodeRef &node, const BinaryNinja::FlowGraphEdge &edge)
void showAddress (uint64_t addr, bool select=false, bool center=false)
void showIndex (size_t index, bool center=false)
void showTopNode ()
void showNode (FlowGraphNodeRef node)
void showLineInNode (FlowGraphNodeRef node, size_t lineIndex)
void ensureCursorVisible ()
void setInstructionHighlight (BNHighlightColor color)
void setBlockHighlight (BNHighlightColor color)
virtual bool goToReference (FunctionRef func, uint64_t source, uint64_t target) override
void setHighlightToken (const HighlightTokenState &state, bool notify=true, bool update=false)
bool getNodeForMouseEvent (QMouseEvent *event, FlowGraphNodeRef &node)
bool getLineForMouseEvent (QMouseEvent *event, CursorPosition &pos)
bool getEdgeForMouseEvent (QMouseEvent *event, FlowGraphNodeRef &source, BinaryNinja::FlowGraphEdge &edge, bool &incoming)
FlowGraphWidgetduplicate ()
Public Member Functions inherited from View
 View ()
virtual ~View ()
void enableRefreshTimer (QWidget *owner, int interval)
void setRefreshQuiesce (bool enable)
bool isQuiesced () const
virtual void notifyQuiesce (bool)
void setupView (QWidget *widget)
virtual bool findNextData (uint64_t start, uint64_t end, const BinaryNinja::DataBuffer &data, uint64_t &addr, BNFindFlag flags, const BinaryNinja::ProgressFunction &cb)
virtual bool findNextText (uint64_t start, uint64_t end, const std::string &text, uint64_t &addr, DisassemblySettingsRef settings, BNFindFlag flags, const BinaryNinja::FunctionViewType &graph, const BinaryNinja::ProgressFunction &cb)
virtual bool findNextConstant (uint64_t start, uint64_t end, uint64_t constant, uint64_t &addr, DisassemblySettingsRef settings, const BinaryNinja::FunctionViewType &graph, const BinaryNinja::ProgressFunction &cb)
virtual bool findAllData (uint64_t start, uint64_t end, const BinaryNinja::DataBuffer &data, BNFindFlag flags, const BinaryNinja::ProgressFunction &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, const BinaryNinja::FunctionViewType &graph, const BinaryNinja::ProgressFunction &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, const BinaryNinja::FunctionViewType &graph, const BinaryNinja::ProgressFunction &cb, const std::function< bool(uint64_t addr, const BinaryNinja::LinearDisassemblyLine &line)> &matchCallback)
bool navigateOnOtherPane (uint64_t offset)
bool navigateToFunctionOnOtherPane (FunctionRef func, uint64_t offset)
bool isBinaryDataNavigable ()
void setBinaryDataNavigable (bool navigable)
virtual bool closeRequest ()
virtual void updateTheme ()
virtual void undo ()
virtual void redo ()
virtual bool canUndo ()
virtual bool canRedo ()
virtual void copyAddress ()
virtual void copyLocationAsURL ()
virtual bool canCopyLocationAsURL ()
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 UIActionContext actionContext ()
MenucontextMenu ()
UIActionHandleractionHandler ()
QWidget * widget ()
QString viewType ()
void updateCrossReferenceSelection (ViewFrame *frame=nullptr)
void notifyILViewTypeChanged (ViewFrame *frame=nullptr)
void forceSyncFromView (ViewFrame *frame=nullptr)
void notifyContextMenuCreated ()
Public Member Functions inherited from PreviewScrollHandler
virtual ~PreviewScrollHandler ()
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 OnDataVariableAdded (BinaryView *view, const DataVariable &var)
virtual void OnDataVariableRemoved (BinaryView *view, const DataVariable &var)
virtual void OnDataVariableUpdated (BinaryView *view, const DataVariable &var)
virtual void OnTagTypeUpdated (BinaryView *view, Ref< TagType > tagTypeRef)
virtual void OnTagRemoved (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 OnDerivedStringFound (BinaryView *data, const DerivedString &str)
virtual void OnDerivedStringRemoved (BinaryView *data, const DerivedString &str)
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.
virtual void OnComponentAdded (BinaryView *data, Component *component)
 This notification is posted after a Component is added to the tree.
virtual void OnComponentRemoved (BinaryView *data, Component *formerParent, Component *component)
 This notification is posted after a Component is removed from the tree.
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.
virtual void OnComponentFunctionAdded (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is added to a Component.
virtual void OnComponentFunctionRemoved (BinaryView *data, Component *component, Function *function)
 This notification is posted whenever a Function is removed from a Component.
virtual void OnComponentDataVariableAdded (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is added to a Component.
virtual void OnComponentDataVariableRemoved (BinaryView *data, Component *component, const DataVariable &var)
 This notification is posted whenever a DataVariable is removed from a Component.
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.
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.
virtual void OnTypeArchiveConnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously disconnected Type Archive attached to the Binary View is connected.
virtual void OnTypeArchiveDisconnected (BinaryView *data, TypeArchive *archive)
 This notification is posted whenever a previously connected Type Archive attached to the Binary View is disconnected.
virtual void OnUndoEntryAdded (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an entry is added to undo history.
virtual void OnUndoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is undone.
virtual void OnRedoEntryTaken (BinaryView *data, UndoEntry *entry)
 This notification is posted whenever an action is redone.
virtual void OnRebased (BinaryView *oldView, BinaryView *newView)
 This notification is posted whenever a binary view is rebased.

Static Public Member Functions

static void registerActions ()
Static Public Member Functions inherited from View
static ViewgetViewFromWidget (QWidget *widget)
static void registerActions ()
static void registerLateActions ()

Friends

class DisassemblyFunctionHeader

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 , DerivedStringFound = 1ULL << 53 , DerivedStringRemoved = 1ULL << 54 , 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 | DerivedStringFound | DerivedStringRemoved , 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
Signals inherited from FlowGraphWidget
void layoutComplete ()
void updateMiniGraph ()
Protected Member Functions inherited from FlowGraphWidget
virtual void paintEvent (QPaintEvent *event) override
virtual void resizeEvent (QResizeEvent *event) override
virtual void mousePressEvent (QMouseEvent *event) override
virtual void mouseReleaseEvent (QMouseEvent *event) override
virtual void mouseMoveEvent (QMouseEvent *event) override
virtual void mouseDoubleClickEvent (QMouseEvent *event) override
virtual void wheelEvent (QWheelEvent *event) override
virtual void customEvent (QEvent *event) override
virtual void scrollContentsBy (int dx, int dy) override
HighlightTokenState getTokenForMouseEvent (QMouseEvent *event)
virtual void contextMenuEvent (QContextMenuEvent *) override
void bindActions ()
void navigateToAddress (uint64_t addr)
void navigateToGotoLabel (uint64_t label)
void setGraphInternal (FlowGraphRef graph, BinaryNinja::Ref< FlowGraphHistoryEntry > entry, bool useAddr, uint64_t addr, bool notify, bool recenterWithPreviousGraph, size_t index=BN_INVALID_EXPR)
void up (bool selecting, size_t count=1)
void down (bool selecting, size_t count=1)
void left (bool selecting)
void right (bool selecting)
void leftToSymbol (bool selecting)
void rightToSymbol (bool selecting)
void pageUp (bool selecting)
void pageDown (bool selecting)
void moveToStartOfLine (bool selecting)
void moveToEndOfLine (bool selecting)
void moveToStartOfView ()
void moveToEndOfView ()
void selectAll ()
void selectNone ()
void navigateToHighlightedToken ()
std::optional< uint64_t > addressForCall ()
uint64_t getTokenAddress ()
bool isFunctionHeader ()
Protected Member Functions inherited from View
bool writeDataToClipboard (const BinaryNinja::DataBuffer &data, bool binary, TransformRef xform)
BinaryNinja::DataBuffer readDataFromClipboard (TransformRef xform)
Protected Attributes inherited from FlowGraphWidget
bool m_enableBlockIndicators = false
float m_blockIndicatorStrokeWidth = 1.0f
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

◆ DisassemblyView()

DisassemblyView::DisassemblyView ( DisassemblyContainer * parent,
BinaryViewRef data,
FunctionRef func = nullptr,
bool navToAddr = false,
uint64_t addr = 0 )
explicit

Member Function Documentation

◆ notifyRefresh()

virtual void DisassemblyView::notifyRefresh ( )
overridevirtual

Reimplemented from FlowGraphWidget.

◆ updateFonts()

virtual void DisassemblyView::updateFonts ( )
overridevirtual

Reimplemented from FlowGraphWidget.

◆ navigate()

virtual bool DisassemblyView::navigate ( uint64_t pos)
overridevirtual

Reimplemented from FlowGraphWidget.

◆ navigateToFunction()

virtual bool DisassemblyView::navigateToFunction ( FunctionRef func,
uint64_t pos )
overridevirtual

Reimplemented from FlowGraphWidget.

◆ navigateToViewLocation()

virtual bool DisassemblyView::navigateToViewLocation ( const ViewLocation & viewLocation,
bool center = false )
overridevirtual

Reimplemented from FlowGraphWidget.

◆ getHistoryEntry()

virtual BinaryNinja::Ref< HistoryEntry > DisassemblyView::getHistoryEntry ( )
overridevirtual

Reimplemented from FlowGraphWidget.

◆ navigateToHistoryEntry()

virtual void DisassemblyView::navigateToHistoryEntry ( BinaryNinja::Ref< HistoryEntry > entry)
overridevirtual

Reimplemented from FlowGraphWidget.

◆ getStatusBarWidget()

virtual StatusBarWidget * DisassemblyView::getStatusBarWidget ( )
overridevirtual

Reimplemented from View.

◆ getHeaderSubtypeWidget()

virtual ViewPaneHeaderSubtypeWidget * DisassemblyView::getHeaderSubtypeWidget ( )
overridevirtual

Reimplemented from View.

◆ getHeaderOptionsWidget()

virtual QWidget * DisassemblyView::getHeaderOptionsWidget ( )
overridevirtual

Reimplemented from View.

◆ getILViewType()

virtual BinaryNinja::FunctionViewType DisassemblyView::getILViewType ( )
inlineoverridevirtual

Reimplemented from View.

◆ setILViewType()

virtual void DisassemblyView::setILViewType ( const BinaryNinja::FunctionViewType & ilViewType)
overridevirtual

Reimplemented from View.

◆ setOption()

void DisassemblyView::setOption ( BNDisassemblyOption option,
bool state = true )

◆ toggleOption()

void DisassemblyView::toggleOption ( BNDisassemblyOption option)

◆ setAddressMode()

void DisassemblyView::setAddressMode ( std::optional< BNDisassemblyAddressMode > mode,
std::optional< bool > hex,
std::optional< bool > withName )

◆ setCallParamHints()

void DisassemblyView::setCallParamHints ( BNDisassemblyCallParameterHints hints)

◆ setBlockLabels()

void DisassemblyView::setBlockLabels ( BNDisassemblyBlockLabels labels)

◆ setDisplayedFileName()

void DisassemblyView::setDisplayedFileName ( )

◆ setAddressBaseOffset()

void DisassemblyView::setAddressBaseOffset ( bool toHere)

◆ toggleRenderLayer()

void DisassemblyView::toggleRenderLayer ( const std::string & layer)

◆ applyRenderLayers()

FlowGraphRef DisassemblyView::applyRenderLayers ( FlowGraphRef graph)

◆ refreshContents()

virtual void DisassemblyView::refreshContents ( )
overridevirtual

Reimplemented from View.

◆ getDisassemblySettings()

virtual DisassemblySettingsRef DisassemblyView::getDisassemblySettings ( )
overridevirtual

Reimplemented from View.

◆ setDisassemblySettings()

virtual void DisassemblyView::setDisassemblySettings ( DisassemblySettingsRef settings)
overridevirtual

Reimplemented from View.

◆ notifyUpdateInProgress()

virtual void DisassemblyView::notifyUpdateInProgress ( FunctionRef func)
overridevirtual

Reimplemented from FlowGraphWidget.

◆ onFunctionSelected()

virtual void DisassemblyView::onFunctionSelected ( FunctionRef func)
overridevirtual

Reimplemented from FlowGraphWidget.

◆ onHighlightChanged()

virtual void DisassemblyView::onHighlightChanged ( const HighlightTokenState & highlight)
overridevirtual

Reimplemented from FlowGraphWidget.

◆ registerActions()

void DisassemblyView::registerActions ( )
static

◆ bindDynamicActions()

virtual void DisassemblyView::bindDynamicActions ( )
overridevirtual

Reimplemented from FlowGraphWidget.

◆ DisassemblyFunctionHeader

friend class DisassemblyFunctionHeader
friend

◆ GraphTypeLabel

class GraphTypeLabel

Public Member Functions

 GraphTypeLabel (QWidget *parent, DisassemblyContainer *container)
Public Member Functions inherited from MenuHelper
 MenuHelper ()
 MenuHelper (QWidget *parent)
void setBackgroundColorRole (QPalette::ColorRole role)
void setActiveBackgroundColorRole (QPalette::ColorRole role)
void setPressedBackgroundColorRole (QPalette::ColorRole role)
void setForegroundColorRole (QPalette::ColorRole role)
void setActiveForegroundColorRole (QPalette::ColorRole role)
void setPressedForegroundColorRole (QPalette::ColorRole role)

Protected Member Functions

void paintEvent (QPaintEvent *event) override
void showMenu () override
Protected Member Functions inherited from MenuHelper
void enterEvent (QEnterEvent *event) override
void leaveEvent (QEvent *event) override
void mousePressEvent (QMouseEvent *event) override
void mouseReleaseEvent (QMouseEvent *event) override
void updateColors ()

Additional Inherited Members

Signals inherited from MenuHelper
void clicked ()
Protected Attributes inherited from MenuHelper
Menu m_menu
ContextMenuManagerm_contextMenuManager
QTimer * m_timer
bool m_active
bool m_pressed

Constructor & Destructor Documentation

◆ GraphTypeLabel()

GraphTypeLabel::GraphTypeLabel ( QWidget * parent,
DisassemblyContainer * container )

Member Function Documentation

◆ paintEvent()

void GraphTypeLabel::paintEvent ( QPaintEvent * event)
overrideprotected

◆ showMenu()

void GraphTypeLabel::showMenu ( )
overrideprotectedvirtual

Implements MenuHelper.

◆ DisassemblyFunctionHeader

class DisassemblyFunctionHeader

Public Member Functions

 DisassemblyFunctionHeader (DisassemblyContainer *parent, BinaryViewRef data)
void updateFonts ()
void setCurrentFunction (FunctionRef func)
void setILViewType (const BinaryNinja::FunctionViewType &ilViewType)
void setHighlightToken (const HighlightTokenState &state)
void notifyRefresh ()
virtual QSize sizeHint () const override

Protected Member Functions

virtual void paintEvent (QPaintEvent *event) override
virtual void resizeEvent (QResizeEvent *event) override
virtual void mousePressEvent (QMouseEvent *event) override
virtual void mouseDoubleClickEvent (QMouseEvent *event) override

Constructor & Destructor Documentation

◆ DisassemblyFunctionHeader()

DisassemblyFunctionHeader::DisassemblyFunctionHeader ( DisassemblyContainer * parent,
BinaryViewRef data )

Member Function Documentation

◆ paintEvent()

virtual void DisassemblyFunctionHeader::paintEvent ( QPaintEvent * event)
overrideprotectedvirtual

◆ resizeEvent()

virtual void DisassemblyFunctionHeader::resizeEvent ( QResizeEvent * event)
overrideprotectedvirtual

◆ mousePressEvent()

virtual void DisassemblyFunctionHeader::mousePressEvent ( QMouseEvent * event)
overrideprotectedvirtual

◆ mouseDoubleClickEvent()

virtual void DisassemblyFunctionHeader::mouseDoubleClickEvent ( QMouseEvent * event)
overrideprotectedvirtual

◆ updateFonts()

void DisassemblyFunctionHeader::updateFonts ( )

◆ setCurrentFunction()

void DisassemblyFunctionHeader::setCurrentFunction ( FunctionRef func)

◆ setILViewType()

void DisassemblyFunctionHeader::setILViewType ( const BinaryNinja::FunctionViewType & ilViewType)

◆ setHighlightToken()

void DisassemblyFunctionHeader::setHighlightToken ( const HighlightTokenState & state)

◆ notifyRefresh()

void DisassemblyFunctionHeader::notifyRefresh ( )

◆ sizeHint()

virtual QSize DisassemblyFunctionHeader::sizeHint ( ) const
overridevirtual

◆ DisassemblyContainer

class DisassemblyContainer

Public Member Functions

 DisassemblyContainer (QWidget *parent, BinaryViewRef data, ViewFrame *view, FunctionRef func=nullptr, bool navToAddr=false, uint64_t addr=0)
virtual ViewgetView () override
ViewFramegetViewFrame ()
DisassemblyViewgetDisassembly () const
DisassemblyFunctionHeadergetFunctionHeader () const
void updateFonts ()
void refreshHeader (FunctionRef func)
void setCurrentFunction (FunctionRef func)
void setILViewType (const BinaryNinja::FunctionViewType &ilViewType)
void setHeaderHighlightToken (const HighlightTokenState &state)
Public Member Functions inherited from ViewContainer
virtual ~ViewContainer ()

Protected Member Functions

virtual void focusInEvent (QFocusEvent *event) override

Constructor & Destructor Documentation

◆ DisassemblyContainer()

DisassemblyContainer::DisassemblyContainer ( QWidget * parent,
BinaryViewRef data,
ViewFrame * view,
FunctionRef func = nullptr,
bool navToAddr = false,
uint64_t addr = 0 )
explicit

Member Function Documentation

◆ getView()

virtual View * DisassemblyContainer::getView ( )
inlineoverridevirtual

Implements ViewContainer.

◆ getViewFrame()

ViewFrame * DisassemblyContainer::getViewFrame ( )
inline

◆ getDisassembly()

DisassemblyView * DisassemblyContainer::getDisassembly ( ) const
inline

◆ getFunctionHeader()

DisassemblyFunctionHeader * DisassemblyContainer::getFunctionHeader ( ) const
inline

◆ updateFonts()

void DisassemblyContainer::updateFonts ( )

◆ refreshHeader()

void DisassemblyContainer::refreshHeader ( FunctionRef func)

◆ setCurrentFunction()

void DisassemblyContainer::setCurrentFunction ( FunctionRef func)

◆ setILViewType()

void DisassemblyContainer::setILViewType ( const BinaryNinja::FunctionViewType & ilViewType)

◆ setHeaderHighlightToken()

void DisassemblyContainer::setHeaderHighlightToken ( const HighlightTokenState & state)

◆ focusInEvent()

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

◆ DisassemblyViewType

class DisassemblyViewType

Public Member Functions

 DisassemblyViewType ()
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 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

◆ DisassemblyViewType()

DisassemblyViewType::DisassemblyViewType ( )

Member Function Documentation

◆ getPriority()

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

Implements ViewType.

◆ create()

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

Implements ViewType.

◆ init()

void DisassemblyViewType::init ( )
static