Skip to content

Commit f96697f

Browse files
committed
entropy tooltip showing offset and fix python version
1 parent 5b804c2 commit f96697f

File tree

4 files changed

+25
-1
lines changed

4 files changed

+25
-1
lines changed

examples/triage/entropy.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ EntropyWidget::EntropyWidget(QWidget* parent, TriageView* view, BinaryViewRef da
7575
timer->start();
7676

7777
setCursor(Qt::PointingHandCursor);
78+
setMouseTracking(true);
7879
setMinimumHeight(UIContext::getScaledWindowSize(32, 32).height());
7980
}
8081

@@ -117,3 +118,16 @@ void EntropyWidget::mousePressEvent(QMouseEvent* event)
117118
uint64_t offset = (uint64_t)(frac * m_width * m_blockSize);
118119
m_view->navigateToFileOffset(offset);
119120
}
121+
122+
123+
void EntropyWidget::mouseMoveEvent(QMouseEvent* event)
124+
{
125+
float frac = (float)event->pos().x() / (float)rect().width();
126+
uint64_t offset = (uint64_t)(frac * m_width * m_blockSize);
127+
uint64_t addr = 0;
128+
bool hasAddr = m_data->GetAddressForDataOffset(offset, addr);
129+
if (hasAddr)
130+
setToolTip(QString("0x%1").arg(addr, 0, 16));
131+
else
132+
setToolTip(QString("File offset: 0x%1").arg(offset, 0, 16));
133+
}

examples/triage/entropy.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ class EntropyWidget : public QWidget
4444
protected:
4545
virtual void paintEvent(QPaintEvent* event) override;
4646
virtual void mousePressEvent(QMouseEvent* event) override;
47+
virtual void mouseMoveEvent(QMouseEvent* event) override;
4748

4849
private Q_SLOTS:
4950
void timerExpired();

python/examples/triage/entropy.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ def __init__(self, parent, view, data):
5454
self.timer.start()
5555

5656
self.setCursor(Qt.PointingHandCursor)
57+
self.setMouseTracking(True)
5758
self.setMinimumHeight(UIContext.getScaledWindowSize(32, 32).height())
5859

5960
def paintEvent(self, event):
@@ -78,3 +79,12 @@ def mousePressEvent(self, event):
7879
frac = float(event.x()) / self.rect().width()
7980
offset = int(frac * self.width * self.block_size)
8081
self.view.navigateToFileOffset(offset)
82+
83+
def mouseMoveEvent(self, event):
84+
frac = float(event.x()) / self.rect().width()
85+
offset = int(frac * self.width * self.block_size)
86+
addr = self.data.get_address_for_data_offset(offset)
87+
if addr is not None:
88+
self.setToolTip(f"0x{addr:x}")
89+
else:
90+
self.setToolTip(f"File offset: 0x{offset:x}")

python/examples/triage/headers.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import time
2-
from binaryninja.binaryview import StructuredDataView
32
import binaryninjaui
43
from binaryninjaui import ViewFrame, UIContext
54
from binaryninja.enums import ThemeColor

0 commit comments

Comments
 (0)