Package ghidra.app.util.bin.format.pe
Class BoundImportDataDirectory
- java.lang.Object
-
- ghidra.app.util.bin.format.pe.DataDirectory
-
- ghidra.app.util.bin.format.pe.BoundImportDataDirectory
-
- All Implemented Interfaces:
PeMarkupable,StructConverter
public class BoundImportDataDirectory extends DataDirectory
Points to an array of IMAGE_BOUND_IMPORT_DESCRIPTORs.
-
-
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 BoundImportDataDirectory()DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddDescriptor(BoundImportDescriptor bid)BoundImportDescriptor[]getBoundImportDescriptors()Returns the array of bound import descriptors defined in this bound import data directory.java.lang.StringgetDirectoryName()voidmarkup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader)Marks up a PE structure.booleanparse()Parses this data directory.DataTypetoDataType()This method should return a datatype representing the data stored in this directory.voidwriteBytes(java.io.RandomAccessFile raf, DataConverter dc, PortableExecutable template)Directories that are not contained inside of sections should override this method to write their bytes into the specified file.-
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, toString, va
-
-
-
-
Method Detail
-
toDataType
public DataType toDataType() throws DuplicateNameException, java.io.IOException
Description copied from class:DataDirectoryThis method should return a datatype representing the data stored in this directory.- Specified by:
toDataTypein interfaceStructConverter- Specified by:
toDataTypein classDataDirectory- Returns:
- returns a structure datatype representing the implementor of this interface
- Throws:
DuplicateNameException- when a datatype of the same name already existsjava.io.IOException- See Also:
StructConverter.toDataType()
-
getBoundImportDescriptors
public BoundImportDescriptor[] getBoundImportDescriptors()
Returns the array of bound import descriptors defined in this bound import data directory.- Returns:
- the array of bound import descriptors defined in this bound import data directory
-
markup
public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) throws DuplicateNameException, CodeUnitInsertionException
Description copied from interface:PeMarkupableMarks 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:
DuplicateNameExceptionCodeUnitInsertionException
-
getDirectoryName
public java.lang.String getDirectoryName()
- Specified by:
getDirectoryNamein classDataDirectory
-
parse
public boolean parse() throws java.io.IOExceptionDescription copied from class:DataDirectoryParses this data directory.- Specified by:
parsein classDataDirectory- Returns:
- True if parsing completed successfully; otherwise, false.
- Throws:
java.io.IOException- If there was an IO problem while parsing.
-
writeBytes
public void writeBytes(java.io.RandomAccessFile raf, DataConverter dc, PortableExecutable template) throws java.io.IOExceptionDescription copied from class:DataDirectoryDirectories that are not contained inside of sections should override this method to write their bytes into the specified file.- Overrides:
writeBytesin classDataDirectory- Parameters:
raf- the random access file used for outputdc- the data converter for endiannesstemplate- the original unadulterated PE- Throws:
java.io.IOException- if an I/O error occurs
-
addDescriptor
public void addDescriptor(BoundImportDescriptor bid)
-
-