diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/DyldCacheLoader.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/DyldCacheLoader.java index e2766ff222..9f756e62bd 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/DyldCacheLoader.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/DyldCacheLoader.java @@ -36,24 +36,6 @@ public class DyldCacheLoader extends AbstractProgramWrapperLoader { public final static String DYLD_CACHE_NAME = "DYLD Cache"; - /** Loader option to process symbols */ - static final String PROCESS_LOCAL_SYMBOLS_OPTION_NAME = "Process local symbols"; - - /** Default value for loader option to process symbols */ - static final boolean PROCESS_LOCAL_SYMBOLS_OPTION_DEFAULT = true; - - /** Loader option to process exports */ - static final String PROCESS_EXPORTS_OPTION_NAME = "Process exports"; - - /** Default value for loader option to process exports */ - static final boolean PROCESS_EXPORTS_OPTION_DEFAULT = true; - - /** Loader option to mark up symbols */ - static final String MARKUP_LOCAL_SYMBOLS_OPTION_NAME = "Markup local symbol nlists (slow)"; - - /** Default value for loader option to mark up symbols */ - static final boolean MARKUP_LOCAL_SYMBOLS_OPTION_DEFAULT = false; - /** Loader option to process chained fixups */ static final String PROCESS_CHAINED_FIXUPS_OPTION_NAME = "Process chained fixups"; @@ -67,11 +49,47 @@ public class DyldCacheLoader extends AbstractProgramWrapperLoader { /** Default value for loader option to add chained fixups to relocation table */ static final boolean ADD_CHAINED_FIXUPS_RELOCATIONS_OPTION_DEFAULT = false; - /** Loader option to mark up Mach-O load command data */ - static final String MARKUP_MACHO_LC_DATA_OPTION_NAME = "Markup Mach-O load command data (slow)"; + /** Loader option to process symbols */ + static final String PROCESS_LOCAL_SYMBOLS_OPTION_NAME = "Process local symbols"; - /** Default value for loader option to mark up Mach-O load command data */ - static final boolean MARKUP_MACHO_LC_DATA_OPTION_DEFAULT = false; + /** Default value for loader option to process symbols */ + static final boolean PROCESS_LOCAL_SYMBOLS_OPTION_DEFAULT = true; + + /** Loader option to mark up symbols */ + static final String MARKUP_LOCAL_SYMBOLS_OPTION_NAME = "Markup local symbol nlists"; + + /** Default value for loader option to mark up symbols */ + static final boolean MARKUP_LOCAL_SYMBOLS_OPTION_DEFAULT = false; + + /** Loader option to process individual dylib's memory */ + static final String PROCESS_DYLIB_MEMORY_OPTION_NAME = "Process dylib memory"; + + /** Loader option to process individual dylib's memory */ + static final boolean PROCESS_DYLIB_MEMORY_OPTION_DEFAULT = true; + + /** Loader option to process dylib symbols */ + static final String PROCESS_DYLIB_SYMBOLS_OPTION_NAME = "Process dylib symbols"; + + /** Default value for loader option to process dylib symbols */ + static final boolean PROCESS_DYLIB_SYMBOLS_OPTION_DEFAULT = true; + + /** Loader option to process dylib exports */ + static final String PROCESS_DYLIB_EXPORTS_OPTION_NAME = "Process dylib exports"; + + /** Default value for loader option to process dylib exports */ + static final boolean PROCESS_DYLIB_EXPORTS_OPTION_DEFAULT = true; + + /** Loader option to mark up dylib load command data */ + static final String MARKUP_DYLIB_LC_DATA_OPTION_NAME = "Markup dylib load command data"; + + /** Default value for loader option to mark up dylib load command data */ + static final boolean MARKUP_DYLIB_LC_DATA_OPTION_DEFAULT = false; + + /** Loader option to process libobjc */ + static final String PROCESS_DYLIB_LIBOBJC_OPTION_NAME = "Process libobjc"; + + /** Default value for loader option to process libobjc */ + static final boolean PROCESS_DYLIB_LIBOBJC_OPTION_DEFAULT = true; @Override public Collection findSupportedLoadSpecs(ByteProvider provider) throws IOException { @@ -127,6 +145,12 @@ public class DyldCacheLoader extends AbstractProgramWrapperLoader { List