Class DynamicSymbolTableCommand
java.lang.Object
ghidra.app.util.bin.format.macho.commands.LoadCommand
ghidra.app.util.bin.format.macho.commands.DynamicSymbolTableCommand
- All Implemented Interfaces:
StructConverter
Represents a dysymtab_command structure.
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionGets the name of this load commandlongReturns the byte index from the start of the file to the external relocation table.longReturns the number of entries in the external relocation table.longReturns the total number of external symbols.longReturns the index of the first external symbol.longReturns the byte index from the start of the file to the indirect symbol table.longReturns the number of entries in the indirect symbol table.longGets the file offset of this load command's "linker data".longGets the file size of this load command's "linker data".longReturns the byte index from the start of the file to the local relocation table.longReturns the number of entries in the local relocation table.longReturns the total number of local symbols.longReturns the index of the first local symbol.longReturns the byte index from the start of the file to the module table.longReturns the number of entries in the module table.longReturns the byte index from the start of the file to the external reference table.longReturns the number of entries in the external reference table.longReturns the byte index from the start of the file to the table of contents (TOC).longReturns the number of entries in the table of contents.longReturns the total number of undefined symbols.longReturns the index of the first undefined symbol.voidmarkup(Program program, MachHeader header, String source, TaskMonitor monitor, MessageLog log) Marks up thisLoadCommanddata with data structures and comments.voidmarkupRawBinary(MachHeader header, FlatProgramAPI api, Address baseAddress, ProgramModule parentModule, TaskMonitor monitor, MessageLog log) Marks-up thisLoadCommandwith data structures and comments.Returns a structure datatype representing the contents of the implementor of this interface.Methods inherited from class ghidra.app.util.bin.format.macho.commands.LoadCommand
checkCount, createFragment, createPlateComment, fileOffsetToAddress, getCommandSize, getCommandType, getContextualName, getStartIndex, markupPlateComment, updateMonitor
-
Method Details
-
getLocalSymbolIndex
public long getLocalSymbolIndex()Returns the index of the first local symbol.- Returns:
- the index of the first local symbol
-
getLocalSymbolCount
public long getLocalSymbolCount()Returns the total number of local symbols.- Returns:
- the total number of local symbols
-
getExternalSymbolIndex
public long getExternalSymbolIndex()Returns the index of the first external symbol.- Returns:
- the index of the first external symbol
-
getExternalSymbolCount
public long getExternalSymbolCount()Returns the total number of external symbols.- Returns:
- the total number of external symbols
-
getUndefinedSymbolIndex
public long getUndefinedSymbolIndex()Returns the index of the first undefined symbol.- Returns:
- the index of the first undefined symbol
-
getUndefinedSymbolCount
public long getUndefinedSymbolCount()Returns the total number of undefined symbols.- Returns:
- the total number of undefined symbols
-
getTableOfContentsOffset
public long getTableOfContentsOffset()Returns the byte index from the start of the file to the table of contents (TOC).- Returns:
- the byte index of the TOC
-
getTableOfContentsSize
public long getTableOfContentsSize()Returns the number of entries in the table of contents.- Returns:
- the number of entries in the table of contents
-
getTableOfContentsList
-
getModuleTableOffset
public long getModuleTableOffset()Returns the byte index from the start of the file to the module table.- Returns:
- the byte index of the module table
-
getModuleTableSize
public long getModuleTableSize()Returns the number of entries in the module table.- Returns:
- the number of entries in the module table
-
getModuleList
-
getReferencedSymbolTableOffset
public long getReferencedSymbolTableOffset()Returns the byte index from the start of the file to the external reference table.- Returns:
- the byte index of the external reference table
-
getReferencedSymbolTableSize
public long getReferencedSymbolTableSize()Returns the number of entries in the external reference table.- Returns:
- the number of entries in the external reference table
-
getReferencedSymbolList
-
getIndirectSymbolTableOffset
public long getIndirectSymbolTableOffset()Returns the byte index from the start of the file to the indirect symbol table.- Returns:
- the byte index of the indirect symbol table
-
getIndirectSymbolTableSize
public long getIndirectSymbolTableSize()Returns the number of entries in the indirect symbol table.- Returns:
- the number of entries in the indirect symbol table
-
getIndirectSymbols
-
getExternalRelocationOffset
public long getExternalRelocationOffset()Returns the byte index from the start of the file to the external relocation table.- Returns:
- the byte index of the external relocation table
-
getExternalRelocationSize
public long getExternalRelocationSize()Returns the number of entries in the external relocation table.- Returns:
- the number of entries in the external relocation table
-
getExternalRelocations
-
getLocalRelocationOffset
public long getLocalRelocationOffset()Returns the byte index from the start of the file to the local relocation table.- Returns:
- the byte index of the local relocation table
-
getLocalRelocationSize
public long getLocalRelocationSize()Returns the number of entries in the local relocation table.- Returns:
- the number of entries in the local relocation table
-
getLocalRelocations
-
getLinkerDataOffset
public long getLinkerDataOffset()Description copied from class:LoadCommandGets the file offset of this load command's "linker data". Not all load commands with data will have linker data. Linker data typically resides in the __LINKEDIT segment.- Overrides:
getLinkerDataOffsetin classLoadCommand- Returns:
- The file offset of this load command's "linker data", or 0 if it has no linker data
-
getLinkerDataSize
public long getLinkerDataSize()Description copied from class:LoadCommandGets the file size of this load command's "linker data". Not all load commands with data will have linker data. Linker data typically resides in the __LINKEDIT segment.- Overrides:
getLinkerDataSizein classLoadCommand- Returns:
- The file size of this load command's "linker data", or 0 if it has no linker data
-
toDataType
Description copied from interface:StructConverterReturns a structure datatype representing the contents of the implementor of this interface.For example, given:
class A { int foo; double bar; }The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.
- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException- when a datatype of the same name already existsIOException- if an IO-related error occurs- See Also:
-
getCommandName
Description copied from class:LoadCommandGets the name of this load command- Specified by:
getCommandNamein classLoadCommand- Returns:
- The name of this load command
-
markup
public void markup(Program program, MachHeader header, String source, TaskMonitor monitor, MessageLog log) throws CancelledException Description copied from class:LoadCommandMarks up thisLoadCommanddata with data structures and comments. Assumes the program was imported as a Mach-O.- Overrides:
markupin classLoadCommand- Parameters:
program- TheProgramto mark upheader- The Mach-O headersource- A name that represents where the header came from (could be null)monitor- A cancellable task monitorlog- The log- Throws:
CancelledException- if the user cancelled the operation
-
markupRawBinary
public void markupRawBinary(MachHeader header, FlatProgramAPI api, Address baseAddress, ProgramModule parentModule, TaskMonitor monitor, MessageLog log) Description copied from class:LoadCommandMarks-up thisLoadCommandwith data structures and comments. Assumes the program was imported as a Raw Binary.- Overrides:
markupRawBinaryin classLoadCommand- Parameters:
header- The Mach-O headerapi- AFlatProgramAPIbaseAddress- The base address of the programparentModule- The parentmoduleto create fragmentsmonitor- A cancellable task monitorlog- The log- See Also:
-