summaryrefslogtreecommitdiff
path: root/view/sharedcache/core/MachOProcessor.h
diff options
context:
space:
mode:
Diffstat (limited to 'view/sharedcache/core/MachOProcessor.h')
-rw-r--r--view/sharedcache/core/MachOProcessor.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/view/sharedcache/core/MachOProcessor.h b/view/sharedcache/core/MachOProcessor.h
new file mode 100644
index 00000000..0564a831
--- /dev/null
+++ b/view/sharedcache/core/MachOProcessor.h
@@ -0,0 +1,23 @@
+#pragma once
+#include "MachO.h"
+
+// Process `SharedCacheMachOHeader`.
+class SharedCacheMachOProcessor
+{
+ BinaryNinja::Ref<BinaryNinja::BinaryView> m_view;
+ BinaryNinja::Ref<BinaryNinja::Logger> m_logger;
+ std::shared_ptr<VirtualMemory> m_vm;
+
+ bool m_applyFunctions = true;
+
+public:
+ explicit SharedCacheMachOProcessor(
+ BinaryNinja::Ref<BinaryNinja::BinaryView> view, std::shared_ptr<VirtualMemory> vm);
+
+ // Initialize header information such as sections and symbols.
+ void ApplyHeader(SharedCacheMachOHeader& header);
+
+ uint64_t ApplyHeaderSections(SharedCacheMachOHeader& header);
+
+ void ApplyHeaderDataVariables(SharedCacheMachOHeader& header);
+};