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
ConstructorsModifierConstructorDescriptionprotectedDyldCacheProgramBuilder(Program program, ByteProvider provider, FileBytes fileBytes, boolean shouldProcessSymbols, boolean shouldAddChainedFixupsRelocations, MessageLog log, TaskMonitor monitor) Creates a newDyldCacheProgramBuilderbased on the given information. -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbuild()static voidbuildProgram(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, processBindings, processChainedFixups, 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 newDyldCacheProgramBuilderbased on the given information.- Parameters:
program- TheProgramto build upprovider- TheByteProviderthat 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- TheProgramto build upprovider- TheByteProviderthat 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:
buildin classMachoProgramBuilder- Throws:
Exception
-