summaryrefslogtreecommitdiff
path: root/examples/triage/headers.cpp
diff options
context:
space:
mode:
authorXusheng <xusheng@vector35.com>2026-03-04 17:04:53 +0800
committerXusheng <xusheng@vector35.com>2026-03-05 12:59:40 +0800
commit432e144beeccf1d9a2d9ed9e7d016384eed0bb32 (patch)
treef963730f2b0b18cbc0620a755e6aad415228c2dc /examples/triage/headers.cpp
parent3520262824637979418554656607433424896809 (diff)
Parse and display PE resource information in triage view. Fix https://github.com/Vector35/binaryninja-api/issues/4052, fix https://github.com/Vector35/binaryninja-api/issues/5607
Diffstat (limited to 'examples/triage/headers.cpp')
-rw-r--r--examples/triage/headers.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/examples/triage/headers.cpp b/examples/triage/headers.cpp
index f2165de0..8aff9f59 100644
--- a/examples/triage/headers.cpp
+++ b/examples/triage/headers.cpp
@@ -306,8 +306,19 @@ PEHeaders::PEHeaders(BinaryViewRef data)
AddField("Compiler(s) Used", compilersUsed);
}
+ auto versionInfo = data->QueryMetadata("PEVersionInfo");
+ if (versionInfo && versionInfo->IsKeyValueStore())
+ {
+ for (const auto& [key, value] : versionInfo->GetKeyValueStore())
+ {
+ if (value->IsString() && !value->GetString().empty())
+ AddField(QString::fromStdString(key), QString::fromStdString(value->GetString()));
+ }
+ }
+
SetColumns(3);
- SetRowsPerColumn(9);
+ size_t numFields = GetFields().size();
+ SetRowsPerColumn((numFields + 2) / 3);
}