Class LinkEditDataCommand

java.lang.Object
ghidra.app.util.bin.format.macho.commands.LoadCommand
ghidra.app.util.bin.format.macho.commands.LinkEditDataCommand
All Implemented Interfaces:
StructConverter
Direct Known Subclasses:
CodeSignatureCommand, DataInCodeCommand, DyldChainedFixupsCommand, DyldExportsTrieCommand, FunctionStartsCommand

public class LinkEditDataCommand extends LoadCommand
Represents a linkedit_data_command structure
  • Field Details

    • dataoff

      protected int dataoff
    • datasize

      protected int datasize
    • dataReader

      protected BinaryReader dataReader
  • Method Details

    • getLinkerDataOffset

      public int getLinkerDataOffset()
      Description copied from class: LoadCommand
      Gets 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:
      getLinkerDataOffset in class LoadCommand
      Returns:
      The file offset of this load command's "linker data", or 0 if it has no linker data
    • getLinkerDataSize

      public int getLinkerDataSize()
      Description copied from class: LoadCommand
      Gets 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:
      getLinkerDataSize in class LoadCommand
      Returns:
      The file size of this load command's "linker data", or 0 if it has no linker data
    • getCommandName

      public String getCommandName()
      Description copied from class: LoadCommand
      Gets the name of this load command
      Specified by:
      getCommandName in class LoadCommand
      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: LoadCommand
      Marks up this LoadCommand data with data structures and comments. Assumes the program was imported as a Mach-O.
      Overrides:
      markup in class LoadCommand
      Parameters:
      program - The Program to mark up
      header - The Mach-O header
      source - A name that represents where the header came from (could be null)
      monitor - A cancellable task monitor
      log - 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: LoadCommand
      Marks-up this LoadCommand with data structures and comments. Assumes the program was imported as a Raw Binary.
      Overrides:
      markupRawBinary in class LoadCommand
      Parameters:
      header - The Mach-O header
      api - A FlatProgramAPI
      baseAddress - The base address of the program
      parentModule - The parent module to create fragments
      monitor - A cancellable task monitor
      log - The log
      See Also:
    • toDataType

      public DataType toDataType() throws DuplicateNameException, IOException
      Description copied from interface: StructConverter
      Returns 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 exists
      IOException - if an IO-related error occurs
      See Also: