Package ghidra.app.util.opinion
Class DyldCacheUtils.SplitDyldCache
java.lang.Object
ghidra.app.util.opinion.DyldCacheUtils.SplitDyldCache
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Enclosing class:
DyldCacheUtils
Class to store a "split" DYLD Cache, which is split across several subcache files (base file,
.1, .2, .symbols, etc).
-
Constructor Summary
ConstructorDescriptionSplitDyldCache
(ByteProvider baseProvider, boolean shouldProcessLocalSymbols, MessageLog log, TaskMonitor monitor) Creates a newDyldCacheUtils.SplitDyldCache
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
long
Gets the base address of the split DYLD cache.getDyldCacheHeader
(int i) Gets the i'thDyldCacheHeader
in the split DYLD CacheGets theDyldCacheLocalSymbolsInfo
from the split DYLD Cache filesgetName
(int i) Gets the i'thname
in the split DYLD CachegetProvider
(int i) Gets the i'thByteProvider
in the split DYLD Cacheint
size()
Gets the number of split DYLD Cache files
-
Constructor Details
-
SplitDyldCache
public SplitDyldCache(ByteProvider baseProvider, boolean shouldProcessLocalSymbols, MessageLog log, TaskMonitor monitor) throws IOException, CancelledException Creates a newDyldCacheUtils.SplitDyldCache
- Parameters:
baseProvider
- TheByteProvider
of the "base" DYLD Cache fileshouldProcessLocalSymbols
- True if local symbols should be processed; otherwise, falselog
- The logmonitor
- A cancelable task monitor- Throws:
IOException
- If there was an IO-related issue with processing the split DYLD CacheCancelledException
- If the user canceled the operation
-
-
Method Details
-
getProvider
Gets the i'thByteProvider
in the split DYLD Cache- Parameters:
i
- The index of theByteProvider
to get- Returns:
- The i'th
ByteProvider
in the split DYLD Cache
-
getDyldCacheHeader
Gets the i'thDyldCacheHeader
in the split DYLD Cache- Parameters:
i
- The index of theDyldCacheHeader
to get- Returns:
- The i'th
DyldCacheHeader
in the split DYLD Cache
-
getName
Gets the i'thname
in the split DYLD Cache -
size
public int size()Gets the number of split DYLD Cache files- Returns:
- The number of split DYLD Cache files
-
getBaseAddress
public long getBaseAddress()Gets the base address of the split DYLD cache. This is where the cache should be loaded in memory.- Returns:
- The base address of the split DYLD cache
-
getLocalSymbolInfo
Gets theDyldCacheLocalSymbolsInfo
from the split DYLD Cache files- Returns:
- The
DyldCacheLocalSymbolsInfo
from the split DYLD Cache files, or null if no local symbols are defined
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
-