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
Represents a dyld_cache_slide_info2 structure.
Seen in iOS 10 and 11.
-
Field Summary
Fields inherited from class ghidra.app.util.bin.format.macho.dyld.DyldCacheSlideInfoCommon
BYTES_PER_CHAIN_OFFSET, CHAIN_OFFSET_MASK, DATA_PAGE_MAP_ENTRY, mappingAddress, mappingFileOffset, mappingSize, slideInfoOffset, version
-
Constructor Summary
ConstructorsConstructorDescriptionDyldCacheSlideInfo2
(BinaryReader reader, long mappingAddress, long mappingSize, long mappingFileOffset) Create a newDyldCacheSlideInfo2
. -
Method Summary
Modifier and TypeMethodDescriptionlong
Returns The delta mask.short[]
Returns The page extras array.long
Returns The page extras count.long
Returns The page extras offset.long
Returns The page size.short[]
Returns The page starts array.long
Returns The page starts count.long
Returns The page starts offset.getSlideFixups
(BinaryReader reader, int pointerSize, MessageLog log, TaskMonitor monitor) Walks the slide fixup information and collects aList
ofDyldCacheSlideFixup
s that will need to be applied to the imagelong
Returns The "value add".Returns a structure datatype representing the contents of the implementor of this interface.Methods inherited from class ghidra.app.util.bin.format.macho.dyld.DyldCacheSlideInfoCommon
fixupSlidePointers, getMappingAddress, getMappingFileOffset, getMappingSize, getSlideInfoOffset, getVersion, parseSlideInfo
-
Constructor Details
-
DyldCacheSlideInfo2
public DyldCacheSlideInfo2(BinaryReader reader, long mappingAddress, long mappingSize, long mappingFileOffset) throws IOException Create a newDyldCacheSlideInfo2
.- Parameters:
reader
- ABinaryReader
positioned at the start of a DYLD slide info 2mappingAddress
- The base address of where the slide fixups will take placemappingSize
- The size of the slide fixups blockmappingFileOffset
- 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<DyldCacheSlideFixup> getSlideFixups(BinaryReader reader, int pointerSize, MessageLog log, TaskMonitor monitor) throws IOException, CancelledException Description copied from class:DyldCacheSlideInfoCommon
Walks the slide fixup information and collects aList
ofDyldCacheSlideFixup
s that will need to be applied to the image- Specified by:
getSlideFixups
in classDyldCacheSlideInfoCommon
- Parameters:
reader
- ABinaryReader
positioned at the start of the segment to fix uppointerSize
- The size of a pointer in byteslog
- The logmonitor
- A cancellable monitor- Returns:
- A
List
ofDyldCacheSlideFixup
s - Throws:
IOException
- If there was an IO-related issueCancelledException
- If the user cancelled the operation
-
toDataType
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 interfaceStructConverter
- Overrides:
toDataType
in classDyldCacheSlideInfoCommon
- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException
- when a datatype of the same name already existsIOException
- See Also:
-