summaryrefslogtreecommitdiff
path: root/view/macho/machoview.h
diff options
context:
space:
mode:
authorkat <kat@vector35.com>2024-06-18 10:58:00 -0400
committerkat <kat@vector35.com>2024-06-18 12:12:54 -0400
commit89afd16f243065bdff26ada8d5aa090c781131d9 (patch)
tree4c9a0b001afac8c64f438a8497541cf2c181cc20 /view/macho/machoview.h
parent6d2f24c84947f188f4056d39b2cb22ee1d870022 (diff)
Add support for __chain_start section parsing (Firmware fixups)
Diffstat (limited to 'view/macho/machoview.h')
-rw-r--r--view/macho/machoview.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/view/macho/machoview.h b/view/macho/machoview.h
index dbc0f172..4bf37ef0 100644
--- a/view/macho/machoview.h
+++ b/view/macho/machoview.h
@@ -1271,6 +1271,7 @@ namespace BinaryNinja
std::vector<section_64> moduleInitSections;
linkedit_data_command exportTrie;
linkedit_data_command chainedFixups {};
+ section_64 chainStarts {};
DataBuffer* stringList;
size_t stringListSize = 0;
@@ -1293,6 +1294,7 @@ namespace BinaryNinja
bool dyldInfoPresent = false;
bool exportTriePresent = false;
bool chainedFixupsPresent = false;
+ bool chainStartsPresent = false;
bool routinesPresent = false;
bool functionStartsPresent = false;
bool relocatable = false;
@@ -1374,6 +1376,7 @@ namespace BinaryNinja
bool GetSectionPermissions(MachOHeader& header, uint64_t address, uint32_t &flags);
bool GetSegmentPermissions(MachOHeader& header, uint64_t address, uint32_t &flags);
void ParseChainedFixups(MachOHeader& header, linkedit_data_command chainedFixups);
+ void ParseChainedStarts(MachOHeader& header, section_64 chainedStarts);
virtual uint64_t PerformGetEntryPoint() const override;