summaryrefslogtreecommitdiff
path: root/plugins/efi_resolver/include/GuidRenderer.h
diff options
context:
space:
mode:
authorBrandon Miller <brandon@vector35.com>2025-05-08 15:08:10 -0400
committerBrandon Miller <brandon@vector35.com>2025-05-08 15:08:10 -0400
commit5147249a644f611a801aada7645b7a993fc8e314 (patch)
tree3a18e50df5ae9edcf31f3545a7f27774021c76a1 /plugins/efi_resolver/include/GuidRenderer.h
parentf7e831ab40a5031cec9186096a90d94735080ed7 (diff)
Implement EFI resolver as a module workflow
Diffstat (limited to 'plugins/efi_resolver/include/GuidRenderer.h')
-rw-r--r--plugins/efi_resolver/include/GuidRenderer.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/plugins/efi_resolver/include/GuidRenderer.h b/plugins/efi_resolver/include/GuidRenderer.h
new file mode 100644
index 00000000..9e5a43bc
--- /dev/null
+++ b/plugins/efi_resolver/include/GuidRenderer.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "binaryninjaapi.h"
+#include <iomanip>
+
+using namespace BinaryNinja;
+using namespace std;
+
+class EfiGuidRenderer : public BinaryNinja::DataRenderer
+{
+ EfiGuidRenderer() = default;
+
+public:
+ bool IsValidForData(BinaryView*, uint64_t address, Type*, vector<pair<Type*, size_t>>&) override;
+
+ vector<DisassemblyTextLine> GetLinesForData(
+ BinaryView*, uint64_t address, Type*, const vector<InstructionTextToken>& prefix, size_t width,
+ std::vector<std::pair<Type*, size_t>>& context, const std::string& language = std::string()) override;
+
+ static void Register();
+};