Class DyldCacheProgramBuilder

java.lang.Object
ghidra.app.util.opinion.MachoProgramBuilder
ghidra.app.util.opinion.DyldCacheProgramBuilder

public class DyldCacheProgramBuilder extends MachoProgramBuilder
Builds up a DYLD Cache Program by parsing the DYLD Cache headers.
  • Constructor Details

    • DyldCacheProgramBuilder

      protected DyldCacheProgramBuilder(Program program, ByteProvider provider, FileBytes fileBytes, boolean shouldProcessSymbols, boolean shouldAddChainedFixupsRelocations, MessageLog log, TaskMonitor monitor)
      Creates a new DyldCacheProgramBuilder based on the given information.
      Parameters:
      program - The Program to build up
      provider - The ByteProvider that contains the DYLD Cache bytes
      fileBytes - Where the DYLD Cache's bytes came from
      shouldProcessSymbols - True if symbols should be processed; otherwise, false
      shouldAddChainedFixupsRelocations - True if relocations should be added for chained fixups; otherwise, false imported and combined into 1 program; otherwise, false
      log - The log
      monitor - A cancelable task monitor
  • Method Details

    • buildProgram

      public static void buildProgram(Program program, ByteProvider provider, FileBytes fileBytes, boolean shouldProcessSymbols, boolean shouldAddChainedFixupsRelocations, MessageLog log, TaskMonitor monitor) throws Exception
      Builds up a DYLD Cache Program.
      Parameters:
      program - The Program to build up
      provider - The ByteProvider that contains the DYLD Cache's bytes
      fileBytes - Where the Mach-O's bytes came from
      shouldProcessSymbols - True if symbols should be processed; otherwise, false
      shouldAddChainedFixupsRelocations - True if relocations should be added for chained fixups; otherwise, false
      log - The log
      monitor - A cancelable task monitor
      Throws:
      Exception - if a problem occurs
    • build

      protected void build() throws Exception
      Overrides:
      build in class MachoProgramBuilder
      Throws:
      Exception