Package ghidra.app.util.opinion
Class DyldCacheProgramBuilder
java.lang.Object
ghidra.app.util.opinion.MachoProgramBuilder
ghidra.app.util.opinion.DyldCacheProgramBuilder
Builds up a DYLD Cache
Program
by parsing the DYLD Cache headers.-
Field Summary
Fields inherited from class ghidra.app.util.opinion.MachoProgramBuilder
BLOCK_SOURCE_NAME, fileBytes, listing, log, machoHeader, memory, monitor, program, provider, shouldAddChainedFixupsRelocations, space
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
DyldCacheProgramBuilder
(Program program, ByteProvider provider, FileBytes fileBytes, boolean shouldProcessSymbols, boolean shouldAddChainedFixupsRelocations, MessageLog log, TaskMonitor monitor) Creates a newDyldCacheProgramBuilder
based on the given information. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
build()
static void
buildProgram
(Program program, ByteProvider provider, FileBytes fileBytes, boolean shouldProcessSymbols, boolean shouldAddChainedFixupsRelocations, MessageLog log, TaskMonitor monitor) Builds up a DYLD CacheProgram
.Methods inherited from class ghidra.app.util.opinion.MachoProgramBuilder
buildProgram, fixupProgramTree, markupChainedFixups, markupHeaders, markupSections, processAbsoluteSymbols, processChainedFixups, processDyldInfo, processEncryption, processEntryPoint, processExports, processExternalRelocations, processIndirectSymbols, processLibraries, processLocalRelocations, processMemoryBlocks, processProgramDescription, processProgramVars, processSectionRelocations, processSymbolTables, processUndefinedSymbols, processUnsupportedLoadCommands, renameObjMsgSendRtpSymbol, setImageBase, setRelocatableProperty, setupHeaderAddr
-
Constructor Details
-
DyldCacheProgramBuilder
protected DyldCacheProgramBuilder(Program program, ByteProvider provider, FileBytes fileBytes, boolean shouldProcessSymbols, boolean shouldAddChainedFixupsRelocations, MessageLog log, TaskMonitor monitor) Creates a newDyldCacheProgramBuilder
based on the given information.- Parameters:
program
- TheProgram
to build upprovider
- TheByteProvider
that contains the DYLD Cache bytesfileBytes
- Where the DYLD Cache's bytes came fromshouldProcessSymbols
- True if symbols should be processed; otherwise, falseshouldAddChainedFixupsRelocations
- True if relocations should be added for chained fixups; otherwise, false imported and combined into 1 program; otherwise, falselog
- The logmonitor
- 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 CacheProgram
.- Parameters:
program
- TheProgram
to build upprovider
- TheByteProvider
that contains the DYLD Cache's bytesfileBytes
- Where the Mach-O's bytes came fromshouldProcessSymbols
- True if symbols should be processed; otherwise, falseshouldAddChainedFixupsRelocations
- True if relocations should be added for chained fixups; otherwise, falselog
- The logmonitor
- A cancelable task monitor- Throws:
Exception
- if a problem occurs
-
build
- Overrides:
build
in classMachoProgramBuilder
- Throws:
Exception
-