summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Wiens <github@psifertex.com>2025-12-18 21:52:10 -0500
committerJordan Wiens <github@psifertex.com>2025-12-18 21:52:14 -0500
commitf96697f42d7535d8a7ad9d66f965d295b2c2eaf0 (patch)
tree37bdff38515396981e01381ebf21d2d3ba3386c8
parent5b804c2c7bae72ccbc2865002d427b52ac4c0b0f (diff)
entropy tooltip showing offset and fix python version
-rw-r--r--examples/triage/entropy.cpp14
-rw-r--r--examples/triage/entropy.h1
-rw-r--r--python/examples/triage/entropy.py10
-rw-r--r--python/examples/triage/headers.py1
4 files changed, 25 insertions, 1 deletions
diff --git a/examples/triage/entropy.cpp b/examples/triage/entropy.cpp
index 3e3b0963..da089fd6 100644
--- a/examples/triage/entropy.cpp
+++ b/examples/triage/entropy.cpp
@@ -75,6 +75,7 @@ EntropyWidget::EntropyWidget(QWidget* parent, TriageView* view, BinaryViewRef da
timer->start();
setCursor(Qt::PointingHandCursor);
+ setMouseTracking(true);
setMinimumHeight(UIContext::getScaledWindowSize(32, 32).height());
}
@@ -117,3 +118,16 @@ void EntropyWidget::mousePressEvent(QMouseEvent* event)
uint64_t offset = (uint64_t)(frac * m_width * m_blockSize);
m_view->navigateToFileOffset(offset);
}
+
+
+void EntropyWidget::mouseMoveEvent(QMouseEvent* event)
+{
+ float frac = (float)event->pos().x() / (float)rect().width();
+ uint64_t offset = (uint64_t)(frac * m_width * m_blockSize);
+ uint64_t addr = 0;
+ bool hasAddr = m_data->GetAddressForDataOffset(offset, addr);
+ if (hasAddr)
+ setToolTip(QString("0x%1").arg(addr, 0, 16));
+ else
+ setToolTip(QString("File offset: 0x%1").arg(offset, 0, 16));
+}
diff --git a/examples/triage/entropy.h b/examples/triage/entropy.h
index a48097c4..821dfb7b 100644
--- a/examples/triage/entropy.h
+++ b/examples/triage/entropy.h
@@ -44,6 +44,7 @@ class EntropyWidget : public QWidget
protected:
virtual void paintEvent(QPaintEvent* event) override;
virtual void mousePressEvent(QMouseEvent* event) override;
+ virtual void mouseMoveEvent(QMouseEvent* event) override;
private Q_SLOTS:
void timerExpired();
diff --git a/python/examples/triage/entropy.py b/python/examples/triage/entropy.py
index 53868cc9..a2ab41a6 100644
--- a/python/examples/triage/entropy.py
+++ b/python/examples/triage/entropy.py
@@ -54,6 +54,7 @@ class EntropyWidget(QWidget):
self.timer.start()
self.setCursor(Qt.PointingHandCursor)
+ self.setMouseTracking(True)
self.setMinimumHeight(UIContext.getScaledWindowSize(32, 32).height())
def paintEvent(self, event):
@@ -78,3 +79,12 @@ class EntropyWidget(QWidget):
frac = float(event.x()) / self.rect().width()
offset = int(frac * self.width * self.block_size)
self.view.navigateToFileOffset(offset)
+
+ def mouseMoveEvent(self, event):
+ frac = float(event.x()) / self.rect().width()
+ offset = int(frac * self.width * self.block_size)
+ addr = self.data.get_address_for_data_offset(offset)
+ if addr is not None:
+ self.setToolTip(f"0x{addr:x}")
+ else:
+ self.setToolTip(f"File offset: 0x{offset:x}")
diff --git a/python/examples/triage/headers.py b/python/examples/triage/headers.py
index d743e8c5..645c29ca 100644
--- a/python/examples/triage/headers.py
+++ b/python/examples/triage/headers.py
@@ -1,5 +1,4 @@
import time
-from binaryninja.binaryview import StructuredDataView
import binaryninjaui
from binaryninjaui import ViewFrame, UIContext
from binaryninja.enums import ThemeColor