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< HistoryEntry > | getHistoryEntry () override |
|
virtual void | navigateToHistoryEntry (BinaryNinja::Ref< HistoryEntry > entry) override |
|
virtual StatusBarWidget * | getStatusBarWidget () override |
|
virtual ViewPaneHeaderSubtypeWidget * | getHeaderSubtypeWidget () 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 | setDisplayedFileName () |
|
void | setAddressBaseOffset (bool toHere) |
|
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 |
|
| 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 | 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 |
|
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) |
|
FlowGraphWidget * | duplicate () |
|
| 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 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, const BinaryNinja::FunctionViewType &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, const BinaryNinja::FunctionViewType &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, const BinaryNinja::FunctionViewType &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, const BinaryNinja::FunctionViewType &graph, const std::function< bool(size_t current, size_t total)> &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 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 () |
|
Menu & | contextMenu () |
|
UIActionHandler * | actionHandler () |
|
QWidget * | widget () |
|
QString | viewType () |
|
void | updateCrossReferenceSelection (ViewFrame *frame=nullptr) |
|
void | forceSyncFromView (ViewFrame *frame=nullptr) |
|
void | notifyContextMenuCreated () |
|
virtual | ~PreviewScrollHandler () |
|
| BinaryDataNotification () |
|
| BinaryDataNotification (NotificationTypes notifications) |
|
virtual | ~BinaryDataNotification () |
|
BNBinaryDataNotification * | GetCallbacks () |
|
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 | OnTagAdded (BinaryView *view, const TagReference &tagRef) |
|
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 | 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 View * | getViewFromWidget (QWidget *widget) |
|
static void | registerActions () |
|
static void | registerLateActions () |
|
Friends |
class | DisassemblyFunctionHeader |
|
|
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 |
|
void | layoutComplete () |
|
void | updateMiniGraph () |
|
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 | bindDynamicActions () |
|
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 () |
|
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 () |
|
bool | m_enableBlockIndicators = false |
|
Menu | m_contextMenu |
|
UIActionHandler | m_actionHandler |
|
bool | m_binaryDataNavigable = false |
|
QPointer< TransformParameterDialog > | m_transformParamDialog |
|
bool | m_quiesceState = true |
|
QTimer * | m_updateTimer = nullptr |
|