summaryrefslogtreecommitdiff
path: root/examples/triage/view.cpp
diff options
context:
space:
mode:
authorBrandon Miller <brandon@vector35.com>2024-03-21 10:52:21 -0400
committerBrandon Miller <bkmiller89@icloud.com>2024-04-25 10:56:18 -0400
commit4b2b3d561b92a01f4d29b86d5510d39e4d1accf3 (patch)
tree2d51e8c9c1fd539f27ffc52bcfe464ab6bd73ef0 /examples/triage/view.cpp
parent6ba7605eafb5419b82e2721026e9dc922de95347 (diff)
Base address detection widget in Triage view
Initial implementation of base address detection UI widget in triage summary
Diffstat (limited to 'examples/triage/view.cpp')
-rw-r--r--examples/triage/view.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/examples/triage/view.cpp b/examples/triage/view.cpp
index 87cdb61a..579f8917 100644
--- a/examples/triage/view.cpp
+++ b/examples/triage/view.cpp
@@ -10,6 +10,7 @@
#include "librariesinfo.h"
#include "headers.h"
#include "strings.h"
+#include "baseaddress.h"
#include "fontsettings.h"
#include <binaryninjacore.h>
@@ -52,6 +53,18 @@ TriageView::TriageView(QWidget* parent, BinaryViewRef data) : QScrollArea(parent
delete hdr;
}
+ auto fileMetadata = m_data->GetFile();
+ auto existingViews = fileMetadata->GetExistingViews();
+ if ((existingViews.size() == 2 && fileMetadata->GetViewOfType("Mapped")) || existingViews.size() == 1)
+ {
+ // Binary either only has raw view (Open for triage mode) or raw and mapped view
+ QGroupBox* baseDetectionGroup = new QGroupBox("Base Address Detection", container);
+ QVBoxLayout* baseDetectionLayout = new QVBoxLayout();
+ baseDetectionLayout->addWidget(new BaseAddressDetectionWidget(this, data));
+ baseDetectionGroup->setLayout(baseDetectionLayout);
+ layout->addWidget(baseDetectionGroup);
+ }
+
QGroupBox* librariesGroup = new QGroupBox("Libraries", container);
QVBoxLayout* librariesLayout = new QVBoxLayout();
librariesLayout->addWidget(new LibrariesWidget(this, data));