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
public class ExportDataDirectory extends DataDirectory
A class to represent theIMAGE_EXPORT_DIRECTORYdata structure defined inwinnt.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
Fields Modifier and Type Field Description static intIMAGE_SIZEOF_EXPORT_DIRECTORYThe 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 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ExportDataDirectory()DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetAddressOfFunctions()intgetAddressOfNameOrdinals()intgetAddressOfNames()intgetBase()intgetCharacteristics()java.lang.StringgetDirectoryName()java.lang.StringgetExportName()ExportInfo[]getExports()Returns an array of the exports defined in this export data directory.shortgetMajorVersion()shortgetMinorVersion()intgetName()intgetNumberOfFunctions()intgetNumberOfNames()intgetTimeDateStamp()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.java.lang.StringtoString()- 
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 Detail
- 
IMAGE_SIZEOF_EXPORT_DIRECTORY
public static final int IMAGE_SIZEOF_EXPORT_DIRECTORY
The size of theIMAGE_EXPORT_DIRECTORYin bytes.- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Method Detail
- 
getExports
public ExportInfo[] 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
public java.lang.String getExportName()
 
- 
markup
public void markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader) throws DuplicateNameException, CodeUnitInsertionException, DataTypeConflictException, java.io.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:
 DuplicateNameExceptionCodeUnitInsertionExceptionjava.io.IOExceptionDataTypeConflictException
 
- 
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.
 
- 
toString
public java.lang.String toString()
- Overrides:
 toStringin classDataDirectory- See Also:
 Object.toString()
 
- 
toDataType
public DataType toDataType() throws DuplicateNameException
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:
 StructureDataType
 
 - 
 
 -