Package ghidra.app.util.bin.format.pe
Class ImportDataDirectory
- java.lang.Object
-
- ghidra.app.util.bin.format.pe.DataDirectory
-
- ghidra.app.util.bin.format.pe.ImportDataDirectory
-
- All Implemented Interfaces:
PeMarkupable
,StructConverter
public class ImportDataDirectory extends DataDirectory
Points to the imports (an array of IMAGE_IMPORT_DESCRIPTOR structures).
-
-
Field Summary
-
Fields inherited from class ghidra.app.util.bin.format.pe.DataDirectory
hasParsed, IMAGE_SIZEOF_IMAGE_DIRECTORY_ENTRY, ntHeader, reader, size, TITLE, virtualAddress
-
-
Constructor Summary
Constructors Constructor Description ImportDataDirectory()
DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDirectoryName()
ImportDescriptor[]
getImportDescriptors()
Returns the array of ImportDescriptor defined in this import directory.ImportInfo[]
getImports()
Returns the array of ImportInfo defined in this import directory.void
markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader)
Marks up a PE structure.boolean
parse()
Parses this data directory.DataType
toDataType()
This method should return a datatype representing the data stored in this directory.java.lang.String
toString()
-
Methods inherited from class ghidra.app.util.bin.format.pe.DataDirectory
createDirectoryBookmark, createFragment, createTerminatedString, getPointer, getSize, getVirtualAddress, hasParsedCorrectly, processDataDirectory, setBookmark, setEolComment, setPlateComment, setPreComment, setSize, setVirtualAddress, va, writeBytes
-
-
-
-
Method Detail
-
getImports
public ImportInfo[] getImports()
Returns the array of ImportInfo defined in this import directory.- Returns:
- the array of ImportInfo defined in this import directory
-
getImportDescriptors
public ImportDescriptor[] getImportDescriptors()
Returns the array of ImportDescriptor defined in this import directory.- Returns:
- the array of ImportDescriptor defined in this import directory
-
getDirectoryName
public java.lang.String getDirectoryName()
- Specified by:
getDirectoryName
in classDataDirectory
-
markup
public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) throws DuplicateNameException, CodeUnitInsertionException, DataTypeConflictException, java.io.IOException, MemoryAccessException
Description copied from interface:PeMarkupable
Marks up a PE structure.- Parameters:
program
- The program to markup.isBinary
- True if the program is binary; otherwise, false.monitor
- The monitor.log
- The log.ntHeader
- The PE's NT Header structure.- Throws:
DuplicateNameException
CodeUnitInsertionException
java.io.IOException
MemoryAccessException
DataTypeConflictException
-
parse
public boolean parse() throws java.io.IOException
Description copied from class:DataDirectory
Parses this data directory.- Specified by:
parse
in classDataDirectory
- Returns:
- True if parsing completed successfully; otherwise, false.
- Throws:
java.io.IOException
- If there was an IO problem while parsing.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classDataDirectory
- See Also:
Object.toString()
-
toDataType
public DataType toDataType() throws DuplicateNameException
Description copied from class:DataDirectory
This method should return a datatype representing the data stored in this directory.- Specified by:
toDataType
in interfaceStructConverter
- Specified by:
toDataType
in classDataDirectory
- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException
- when a datatype of the same name already exists- See Also:
StructConverter.toDataType()
-
-