Package ghidra.app.util.bin.format.pe
Class SecurityDataDirectory
- java.lang.Object
-
- ghidra.app.util.bin.format.pe.DataDirectory
-
- ghidra.app.util.bin.format.pe.SecurityDataDirectory
-
- All Implemented Interfaces:
ByteArrayConverter
,PeMarkupable
,StructConverter
public class SecurityDataDirectory extends DataDirectory implements ByteArrayConverter
-
-
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 SecurityDataDirectory()
DO NOT USE THIS CONSTRUCTOR, USE create*(GenericFactory ...) FACTORY METHODS INSTEAD.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SecurityCertificate[]
getCertificate()
Returns an array of security certificates.java.lang.String
getDirectoryName()
Address
getMarkupAddress(Program program, boolean isBinary)
virtualAddress is always a binary offsetvoid
markup(Program program, boolean isBinary, TaskMonitor monitor, MessageLog log, NTHeader ntHeader)
Marks up a PE structure.boolean
parse()
Parses this data directory.byte[]
toBytes(DataConverter dc)
Returns a byte array representing this implementor of this interface.DataType
toDataType()
This method should return a datatype representing the data stored in this directory.void
writeBytes(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
-
getCertificate
public SecurityCertificate[] getCertificate()
Returns an array of security certificates.- Returns:
- an array of security certificates
-
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
Description copied from interface:PeMarkupable
Marks up a PE structure.- Specified by:
markup
in interfacePeMarkupable
- 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
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.
-
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()
-
toBytes
public byte[] toBytes(DataConverter dc)
Description copied from interface:ByteArrayConverter
Returns a byte array representing this implementor of this interface.- Specified by:
toBytes
in interfaceByteArrayConverter
- Parameters:
dc
- the data converter to use- Returns:
- a byte array representing this object
- See Also:
ByteArrayConverter.toBytes(ghidra.util.DataConverter)
-
writeBytes
public void writeBytes(java.io.RandomAccessFile raf, DataConverter dc, PortableExecutable template) throws java.io.IOException
Description copied from class:DataDirectory
Directories that are not contained inside of sections should override this method to write their bytes into the specified file.- Overrides:
writeBytes
in 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- See Also:
DataDirectory.writeBytes(java.io.RandomAccessFile, ghidra.util.DataConverter, ghidra.app.util.bin.format.pe.PortableExecutable)
-
-