Package ghidra.app.util.bin.format.pe
Class ExportDataDirectory
java.lang.Object
ghidra.app.util.bin.format.pe.DataDirectory
ghidra.app.util.bin.format.pe.ExportDataDirectory
- All Implemented Interfaces:
PeMarkupable,StructConverter
A class to represent the
IMAGE_EXPORT_DIRECTORY
data structure defined in winnt.h.
typedef struct _IMAGE_EXPORT_DIRECTORY {
DWORD Characteristics;
DWORD TimeDateStamp;
WORD MajorVersion;
WORD MinorVersion;
DWORD Name;
DWORD Base;
DWORD NumberOfFunctions;
DWORD NumberOfNames;
DWORD AddressOfFunctions; // RVA from base of image
DWORD AddressOfNames; // RVA from base of image
DWORD AddressOfNameOrdinals; // RVA from base of image
};
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe size of theIMAGE_EXPORT_DIRECTORYin bytes.Fields inherited from class ghidra.app.util.bin.format.pe.DataDirectory
hasParsed, IMAGE_SIZEOF_IMAGE_DIRECTORY_ENTRY, ntHeader, reader, size, TITLE, virtualAddress -
Method Summary
Modifier and TypeMethodDescriptionintintintintgetBase()intReturns an array of the exports defined in this export data directory.shortshortintgetName()intintintvoidmarkup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) Marks up a PE structure.booleanparse()Parses this data directory.This method should return a datatype representing the data stored in this directory.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
-
Field Details
-
IMAGE_SIZEOF_EXPORT_DIRECTORY
public static final int IMAGE_SIZEOF_EXPORT_DIRECTORYThe size of theIMAGE_EXPORT_DIRECTORYin bytes.- See Also:
-
-
Method Details
-
getExports
Returns an array of the exports defined in this export data directory.- Returns:
- an array of the exports defined in this export data directory
-
getAddressOfFunctions
public int getAddressOfFunctions() -
getAddressOfNames
public int getAddressOfNames() -
getAddressOfNameOrdinals
public int getAddressOfNameOrdinals() -
getNumberOfFunctions
public int getNumberOfFunctions() -
getNumberOfNames
public int getNumberOfNames() -
getName
public int getName() -
getBase
public int getBase() -
getCharacteristics
public int getCharacteristics() -
getTimeDateStamp
public int getTimeDateStamp() -
getMajorVersion
public short getMajorVersion() -
getMinorVersion
public short getMinorVersion() -
getExportName
-
markup
public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) throws DuplicateNameException, CodeUnitInsertionException, IOException 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:
DuplicateNameExceptionCodeUnitInsertionExceptionIOException
-
getDirectoryName
- Specified by:
getDirectoryNamein classDataDirectory
-
parse
Description copied from class:DataDirectoryParses this data directory.- Specified by:
parsein classDataDirectory- Returns:
- True if parsing completed successfully; otherwise, false.
- Throws:
IOException- If there was an IO problem while parsing.
-
toString
- Overrides:
toStringin classDataDirectory- See Also:
-
toDataType
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 exists- See Also:
-