Package ghidra.app.util.opinion
Class NeLoader
- All Implemented Interfaces:
Loader,ExtensionPoint,Comparable<Loader>
A
Loader for processing Microsoft New Executable (NE) files.-
Nested Class Summary
Nested classes/interfaces inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader
AbstractLibrarySupportLoader.LibrarySearchPath, AbstractLibrarySupportLoader.UnprocessedLibrary -
Field Summary
FieldsFields inherited from class ghidra.app.util.opinion.AbstractOrdinalSupportLoader
ORDINAL_LOOKUP_OPTION_NAMEFields inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader
DEPTH_OPTION_NAME, LIBRARY_DEST_FOLDER_OPTION_NAME, LIBRARY_SEARCH_PATH_DUMMY_OPTION_NAME, LINK_EXISTING_OPTION_NAME, LINK_SEARCH_FOLDER_OPTION_NAME, LOAD_LIBRARY_OPTION_NAME, LOAD_ONLY_LIBRARIES_OPTION_NAMEFields inherited from class ghidra.app.util.opinion.AbstractProgramLoader
ANCHOR_LABELS_OPTION_NAME, APPLY_LABELS_OPTION_NAMEFields inherited from interface ghidra.app.util.opinion.Loader
COMMAND_LINE_ARG_PREFIX, loggingDisabled, OPTIONS_PROJECT_SAVE_STATE_KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfindSupportedLoadSpecs(ByteProvider provider) If thisLoadersupports loading the givenByteProvider, this methods returns aCollectionof all supportedLoadSpecs that contain discovered load specification information that thisLoaderwill need to load.getName()protected booleanSpecifies if the library filenames specified by this loader should be exact case match or case-insensitive.protected booleanSpecifies if this loader can refer to library filenames without filename extensions.voidload(ByteProvider provider, LoadSpec loadSpec, List<Option> options, Program prog, TaskMonitor monitor, MessageLog log) Loads bytes in a particular format into the givenProgram.Methods inherited from class ghidra.app.util.opinion.AbstractOrdinalSupportLoader
getDefaultOptions, postLoadCleanup, postLoadProgramFixups, processLibrary, shouldSearchAllPaths, validateOptionsMethods inherited from class ghidra.app.util.opinion.AbstractLibrarySupportLoader
createLibraryByteProvider, findLibraryInLoadedList, findLibraryInProject, getCustomLibrarySearchPaths, getLibraryDestinationFolderPath, getLibraryDestinationSearchFolder, getLibraryLoadDepth, getLibrarySearchFolders, getLibrarySearchPaths, getLinkSearchFolder, getTier, getTierPriority, isLinkExistingLibraries, isLoadLibraries, isValidSearchPath, loadProgram, loadProgramInto, matchSupportedLoadSpec, resolveLibraryFile, shouldLoadOnlyLibrariesMethods inherited from class ghidra.app.util.opinion.AbstractProgramLoader
createDefaultMemoryBlocks, createProgram, generateBlockName, getLanguageService, joinPaths, load, loadInto, markAsFunction, release, setProgramProperties, shouldApplyProcessorLabelsByDefaultMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ghidra.app.util.opinion.Loader
compareTo, getPreferredFileName, loadsIntoNewFolder, supportsLoadIntoProgram, supportsLoadIntoProgram
-
Field Details
-
NE_NAME
- See Also:
-
-
Constructor Details
-
NeLoader
public NeLoader()
-
-
Method Details
-
findSupportedLoadSpecs
Description copied from interface:LoaderIf thisLoadersupports loading the givenByteProvider, this methods returns aCollectionof all supportedLoadSpecs that contain discovered load specification information that thisLoaderwill need to load. If thisLoadercannot support loading the givenByteProvider, an emptyCollectionis returned.- Parameters:
provider- The bytes being loaded.- Returns:
- A
CollectionofLoadSpecs that thisLoadersupports loading, or an emptyCollectionif thisLoaderdoesn't support loading the givenByteProvider. - Throws:
IOException- if there was an IO-related issue finding theLoadSpecs.
-
load
public void load(ByteProvider provider, LoadSpec loadSpec, List<Option> options, Program prog, TaskMonitor monitor, MessageLog log) throws IOException, CancelledException Description copied from class:AbstractLibrarySupportLoaderLoads bytes in a particular format into the givenProgram.- Specified by:
loadin classAbstractLibrarySupportLoader- Parameters:
provider- The bytes to load.loadSpec- TheLoadSpecto use during load.options- The load options.prog- TheProgramto load into.monitor- A cancelable task monitor.log- The message log.- Throws:
IOException- if there was an IO-related problem loading.CancelledException- if the user cancelled the load.
-
isOptionalLibraryFilenameExtensions
protected boolean isOptionalLibraryFilenameExtensions()Description copied from class:AbstractLibrarySupportLoaderSpecifies if this loader can refer to library filenames without filename extensions.Derived loader classes should override this method if library filename extensions are optional. If they are required, there is no need to override this method.
- Overrides:
isOptionalLibraryFilenameExtensionsin classAbstractLibrarySupportLoader- Returns:
- True if library filename extensions are optional; otherwise, false
-
isCaseInsensitiveLibraryFilenames
protected boolean isCaseInsensitiveLibraryFilenames()Description copied from class:AbstractLibrarySupportLoaderSpecifies if the library filenames specified by this loader should be exact case match or case-insensitive.Derived loader classes should override this method and specify if the OS that normally handles this type of binary is case-insensitive.
- Overrides:
isCaseInsensitiveLibraryFilenamesin classAbstractLibrarySupportLoader- Returns:
- True if case-insensitive or false if case-sensitive.
-
getName
Description copied from interface:LoaderGets theLoader's name, which is used both for display purposes, and to identify theLoaderin the opinion files.- Returns:
- The
Loader's name.
-