MachoProgramBuilder

Package: ghidra.app.util.opinion
Type: class

11.4_PUBLIC

addedmethod: createOneByteFunction
static ghidra.program.model.listing.Function createOneByteFunction(ghidra.program.model.listing.Program program, java.lang.String name, ghidra.program.model.address.Address address)
addedfield: HEADER_SYMBOL
static java.lang.String HEADER_SYMBOL
addedmethod: processEntryPoint
void processEntryPoint(java.lang.String source) throws Exception
modifiedmethod: markupProgramVars
added throws Exception
- void markupProgramVars()
+ void markupProgramVars() throws Exception
modifiedmethod: setCompiler
added throws CancelledException
- void setCompiler()
+ void setCompiler() throws CancelledException
removedfield: BLOCK_SOURCE_NAME
static java.lang.String BLOCK_SOURCE_NAME
removedmethod: processEntryPoint
void processEntryPoint() throws Exception

11.1_PUBLIC

addedmethod: getMachoBaseAddress
ghidra.program.model.address.Address getMachoBaseAddress()
addedmethod: markupAndSetGolangInitialProgramProperties
void markupAndSetGolangInitialProgramProperties()
addedmethod: processCorruptLoadCommands
void processCorruptLoadCommands() throws CancelledException
addedfield: reader
ghidra.app.util.bin.BinaryReader reader
addedmethod: setProgramImageBase
void setProgramImageBase() throws Exception
removedmethod: setImageBase
void setImageBase() throws Exception

11.0_PUBLIC

addedmethod: fixupProgramTree
void fixupProgramTree(java.lang.String suffix) throws Exception
addedmethod: processNewExport
void processNewExport(ghidra.program.model.address.Address baseAddr, ghidra.app.util.bin.format.macho.commands.ExportTrie.ExportEntry export, java.lang.String name) throws AddressOutOfBoundsException, Exception
addedmethod: processStubs
void processStubs() throws Exception
addedmethod: setCompiler
void setCompiler()
modifiedmethod: processLibraries
return type: void → List
- void processLibraries() throws Exception
+ java.util.List<java.lang.String> processLibraries() throws Exception
removedmethod: fixupProgramTree
void fixupProgramTree() throws Exception
removedmethod: processBindings
void processBindings(boolean doClassic) throws Exception
removedmethod: processChainedFixups
java.util.List<ghidra.program.model.address.Address> processChainedFixups(ghidra.app.util.bin.format.macho.MachHeader header) throws Exception
removedmethod: processIndirectSymbols
void processIndirectSymbols() throws Exception

10.4_PUBLIC

addedmethod: buildProgram
static void buildProgram(ghidra.program.model.listing.Program program, ghidra.app.util.bin.ByteProvider provider, ghidra.program.database.mem.FileBytes fileBytes, ghidra.app.util.importer.MessageLog log, ghidra.util.task.TaskMonitor monitor) throws Exception
addedmethod: markupLoadCommandData
void markupLoadCommandData(ghidra.app.util.bin.format.macho.MachHeader header, java.lang.String source) throws Exception
addedmethod: markupProgramVars
void markupProgramVars()
addedmethod: processChainedFixups
java.util.List<ghidra.program.model.address.Address> processChainedFixups(ghidra.app.util.bin.format.macho.MachHeader header) throws Exception
addedmethod: setProgramDescription
void setProgramDescription()
modifiedmethod: processBindings
added throws Exception
- void processBindings(boolean doClassic)
+ void processBindings(boolean doClassic) throws Exception
removedmethod: buildProgram
static void buildProgram(ghidra.program.model.listing.Program program, ghidra.app.util.bin.ByteProvider provider, ghidra.program.database.mem.FileBytes fileBytes, boolean addChainedFixupsRelocations, ghidra.app.util.importer.MessageLog log, ghidra.util.task.TaskMonitor monitor) throws Exception
removedmethod: processChainedFixups
java.util.List<ghidra.program.model.address.Address> processChainedFixups() throws Exception
removedmethod: processProgramDescription
void processProgramDescription()
removedmethod: processProgramVars
void processProgramVars()
removedfield: shouldAddChainedFixupsRelocations
boolean shouldAddChainedFixupsRelocations

10.3.1_PUBLIC

addedmethod: processIndirectSymbols
void processIndirectSymbols() throws Exception

10.3_PUBLIC

addedmethod: processBindings
void processBindings(boolean doClassic)
modifiedmethod: processLibraries
added throws Exception
- void processLibraries()
+ void processLibraries() throws Exception
removedmethod: processDyldInfo
void processDyldInfo(boolean doClassic)
removedmethod: processIndirectSymbols
void processIndirectSymbols() throws Exception

10.2_PUBLIC

addedmethod: buildProgram
static void buildProgram(ghidra.program.model.listing.Program program, ghidra.app.util.bin.ByteProvider provider, ghidra.program.database.mem.FileBytes fileBytes, boolean addChainedFixupsRelocations, ghidra.app.util.importer.MessageLog log, ghidra.util.task.TaskMonitor monitor) throws Exception
addedmethod: fixupProgramTree
void fixupProgramTree() throws Exception
addedmethod: processChainedFixups
java.util.List<ghidra.program.model.address.Address> processChainedFixups() throws Exception
addedmethod: processExports
boolean processExports(ghidra.app.util.bin.format.macho.MachHeader header) throws Exception
addedmethod: processExternalRelocations
void processExternalRelocations() throws CancelledException
addedmethod: processLocalRelocations
void processLocalRelocations() throws CancelledException
addedmethod: processSectionRelocations
void processSectionRelocations() throws CancelledException
addedmethod: processSymbolTables
void processSymbolTables(ghidra.app.util.bin.format.macho.MachHeader header, boolean processExports) throws Exception
addedfield: shouldAddChainedFixupsRelocations
boolean shouldAddChainedFixupsRelocations
modifiedmethod: processUnsupportedLoadCommands
added throws CancelledException; removed throws Exception
- void processUnsupportedLoadCommands() throws Exception
+ void processUnsupportedLoadCommands() throws CancelledException
removedmethod: buildProgram
static void buildProgram(ghidra.program.model.listing.Program program, ghidra.app.util.bin.ByteProvider provider, ghidra.program.database.mem.FileBytes fileBytes, ghidra.app.util.importer.MessageLog log, ghidra.util.task.TaskMonitor monitor) throws Exception
removedmethod: doRelocations
void doRelocations() throws Exception
removedmethod: loadExternalRelocations
void loadExternalRelocations()
removedmethod: loadLocalRelocations
void loadLocalRelocations()
removedmethod: loadSectionRelocations
void loadSectionRelocations()

10.1_PUBLIC

addedmethod: doRelocations
void doRelocations() throws Exception
addedmethod: processDyldInfo
void processDyldInfo(boolean doClassic)

9.1_PUBLIC

addedmethod: buildProgram
static void buildProgram(ghidra.program.model.listing.Program program, ghidra.app.util.bin.ByteProvider provider, ghidra.program.database.mem.FileBytes fileBytes, ghidra.app.util.importer.MessageLog log, ghidra.util.task.TaskMonitor monitor) throws Exception
addedfield: fileBytes
ghidra.program.database.mem.FileBytes fileBytes
addedmethod: processMemoryBlocks
void processMemoryBlocks(ghidra.app.util.bin.format.macho.MachHeader header, java.lang.String source, boolean processSections, boolean allowZeroAddr) throws Exception
removedmethod: buildProgram
static void buildProgram(ghidra.program.model.listing.Program program, ghidra.app.util.bin.ByteProvider provider, ghidra.app.util.importer.MessageLog log, ghidra.app.util.importer.MemoryConflictHandler memoryConflictHandler, ghidra.util.task.TaskMonitor monitor) throws Exception
removedfield: mbu
ghidra.app.util.MemoryBlockUtil mbu
removedmethod: processMemoryBlocks
void processMemoryBlocks(ghidra.app.util.bin.format.macho.MachHeader header, java.lang.String source, boolean allowZeroAddr) throws Exception

9.0.2_PUBLIC

addedmethod: build
void build() throws Exception
addedfield: listing
ghidra.program.model.listing.Listing listing
addedfield: log
ghidra.app.util.importer.MessageLog log
addedfield: machoHeader
ghidra.app.util.bin.format.macho.MachHeader machoHeader
addedmethod: markupHeaders
void markupHeaders(ghidra.app.util.bin.format.macho.MachHeader header, ghidra.program.model.address.Address headerAddr) throws Exception
addedfield: mbu
ghidra.app.util.MemoryBlockUtil mbu
addedfield: memory
ghidra.program.model.mem.Memory memory
addedfield: monitor
ghidra.util.task.TaskMonitor monitor
addedmethod: processMemoryBlocks
void processMemoryBlocks(ghidra.app.util.bin.format.macho.MachHeader header, java.lang.String source, boolean allowZeroAddr) throws Exception
addedfield: program
ghidra.program.model.listing.Program program
addedfield: provider
ghidra.app.util.bin.ByteProvider provider
addedmethod: renameObjMsgSendRtpSymbol
void renameObjMsgSendRtpSymbol() throws DuplicateNameException, InvalidInputException
addedfield: space
ghidra.program.model.address.AddressSpace space

9.0.1_PUBLIC

introducedInitial version