Class ElfExtension
- java.lang.Object
-
- ghidra.app.util.bin.format.elf.extend.ElfLoadAdapter
-
- ghidra.app.util.bin.format.elf.extend.ElfExtension
-
- All Implemented Interfaces:
ExtensionPoint
public abstract class ElfExtension extends ElfLoadAdapter implements ExtensionPoint
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface ghidra.util.classfinder.ExtensionPoint
ExtensionPoint.Exclude, ExtensionPoint.Util
-
-
Constructor Summary
Constructors Constructor Description ElfExtension()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract boolean
canHandle(ElfHeader elf)
Check if this extension can handle the specified elf header.abstract boolean
canHandle(ElfLoadHelper elfLoadHelper)
Check if this extension can handle the specified elf image.abstract java.lang.String
getDataTypeSuffix()
Return the data type naming suffix which should be used when creating types derived from data supplied by this extension.-
Methods inherited from class ghidra.app.util.bin.format.elf.extend.ElfLoadAdapter
addDynamicTypes, addProgramHeaderTypes, addSectionHeaderTypes, creatingFunction, evaluateElfSymbol, getAdjustedLoadSize, getAdjustedMemorySize, getAdjustedSize, getDefaultAlignment, getExternalBlockReserveSize, getFilteredLoadInputStream, getLinkageBlockAlignment, getPreferredExternalBlockSize, getPreferredSectionAddress, getPreferredSectionAddressSpace, getPreferredSegmentAddress, getPreferredSegmentAddressSpace, getRelocationClass, hasFilteredLoadInputStream, isSectionAllocated, isSectionExecutable, isSectionWritable, isSegmentExecutable, isSegmentReadable, isSegmentWritable, processElf, processGotPlt
-
-
-
-
Method Detail
-
canHandle
public abstract boolean canHandle(ElfHeader elf)
Description copied from class:ElfLoadAdapter
Check if this extension can handle the specified elf header. If this method returns true, this extension will be used to obtain extended types definitions and to perform additional load processing.- Overrides:
canHandle
in classElfLoadAdapter
- Parameters:
elf
- elf header- Returns:
- true if this extension should be used when loading the elf image which corresponds to the specified header.
-
canHandle
public abstract boolean canHandle(ElfLoadHelper elfLoadHelper)
Description copied from class:ElfLoadAdapter
Check if this extension can handle the specified elf image. This method can provide a more accurate check based upon the actual language utilized. While the ELF header may have stipulated a specific processor via the machine-id, a completely different and incompatible language may have been used.- Overrides:
canHandle
in classElfLoadAdapter
- Returns:
- true if this extension can properly support the ELF header and the current program/language.
-
getDataTypeSuffix
public abstract java.lang.String getDataTypeSuffix()
Description copied from class:ElfLoadAdapter
Return the data type naming suffix which should be used when creating types derived from data supplied by this extension.- Overrides:
getDataTypeSuffix
in classElfLoadAdapter
- Returns:
- type naming suffix or null
-
-