From 89afd16f243065bdff26ada8d5aa090c781131d9 Mon Sep 17 00:00:00 2001 From: kat Date: Tue, 18 Jun 2024 10:58:00 -0400 Subject: Add support for __chain_start section parsing (Firmware fixups) --- view/macho/machoview.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'view/macho/machoview.h') 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 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; -- cgit v1.3.1