Class DyldCacheSlideInfo2

java.lang.Object
ghidra.app.util.bin.format.macho.dyld.DyldCacheSlideInfoCommon
ghidra.app.util.bin.format.macho.dyld.DyldCacheSlideInfo2
All Implemented Interfaces:
StructConverter

public class DyldCacheSlideInfo2 extends DyldCacheSlideInfoCommon
Represents a dyld_cache_slide_info2 structure.

Seen in iOS 10 and 11.

  • Constructor Details

    • DyldCacheSlideInfo2

      public DyldCacheSlideInfo2(BinaryReader reader, long mappingAddress, long mappingSize, long mappingFileOffset) throws IOException
      Create a new DyldCacheSlideInfo2.
      Parameters:
      reader - A BinaryReader positioned at the start of a DYLD slide info 2
      mappingAddress - The base address of where the slide fixups will take place
      mappingSize - The size of the slide fixups block
      mappingFileOffset - The base file offset of where the slide fixups will take place
      Throws:
      IOException - if there was an IO-related problem creating the DYLD slide info 2
  • Method Details

    • getPageSize

      public long getPageSize()
      Returns The page size.
      Returns:
      The page size
    • getPageStartsOffset

      public long getPageStartsOffset()
      Returns The page starts offset.
      Returns:
      The page starts offset
    • getPageStartsCount

      public long getPageStartsCount()
      Returns The page starts count.
      Returns:
      The page starts count
    • getPageExtrasOffset

      public long getPageExtrasOffset()
      Returns The page extras offset.
      Returns:
      The page extras offset
    • getPageExtrasCount

      public long getPageExtrasCount()
      Returns The page extras count.
      Returns:
      The page extras count
    • getDeltaMask

      public long getDeltaMask()
      Returns The delta mask.
      Returns:
      The delta mask
    • getValueAdd

      public long getValueAdd()
      Returns The "value add".
      Returns:
      The "value add"
    • getPageStarts

      public short[] getPageStarts()
      Returns The page starts array.
      Returns:
      The page starts array
    • getPageExtras

      public short[] getPageExtras()
      Returns The page extras array.
      Returns:
      The page extras array
    • getSlideFixups

      public List<DyldFixup> getSlideFixups(BinaryReader reader, int pointerSize, MessageLog log, TaskMonitor monitor) throws IOException, CancelledException
      Description copied from class: DyldCacheSlideInfoCommon
      Walks the slide fixup information and collects a List of DyldFixups that will need to be applied to the image
      Specified by:
      getSlideFixups in class DyldCacheSlideInfoCommon
      Parameters:
      reader - A BinaryReader positioned at the start of the segment to fix up
      pointerSize - The size of a pointer in bytes
      log - The log
      monitor - A cancellable monitor
      Returns:
      A List of DyldFixups
      Throws:
      IOException - If there was an IO-related issue
      CancelledException - If the user cancelled the operation
    • 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.

      Specified by:
      toDataType in interface StructConverter
      Overrides:
      toDataType in class DyldCacheSlideInfoCommon
      Returns:
      returns a structure datatype representing the implementor of this interface
      Throws:
      DuplicateNameException - when a datatype of the same name already exists
      IOException
      See Also: