Package ghidra.app.util.bin.format.pe
Class RichHeader
java.lang.Object
ghidra.app.util.bin.format.pe.RichHeader
- All Implemented Interfaces:
Writeable,StructConverter
The "Rich" header contains encoded metadata about the tool chain used to generate the binary.
This class decodes and writes the Rich header (if it exists).
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRichHeader(BinaryReader reader) Creates the Rich header found from the given reader. -
Method Summary
Modifier and TypeMethodDescriptionintgetMask()Gets the Rich header mask.intGets the offset of the Rich header.Gets the Rich header records.intgetSize()Gets the size of the Rich header.Returns a structure datatype representing the contents of the implementor of this interface.voidwrite(RandomAccessFile raf, DataConverter dc) Writes this object to the specified random access file using the data converter to handle endianness.
-
Field Details
-
IMAGE_RICH_SIGNATURE
public static final int IMAGE_RICH_SIGNATURE- See Also:
-
IMAGE_DANS_SIGNATURE
public static final int IMAGE_DANS_SIGNATURE- See Also:
-
NAME
- See Also:
-
-
Constructor Details
-
RichHeader
Creates the Rich header found from the given reader. The reader should be positioned directly after the DOS header.- Parameters:
reader- The reader to read the PE with.
-
-
Method Details
-
getOffset
public int getOffset()Gets the offset of the Rich header.- Returns:
- the offset of the Rich header, or -1 if a Rich header was not found.
-
getSize
public int getSize()Gets the size of the Rich header.- Returns:
- the size of the Rich header. Will be 0 if a Rich header was not found.
-
getMask
public int getMask()Gets the Rich header mask.- Returns:
- the Rich header mask, or -1 if a Rich header was not found.
-
getRecords
Gets the Rich header records.- Returns:
- the Rich header records. Could be empty if a Rich header was not found.
-
toDataType
Description copied from interface:StructConverterReturns a structure datatype representing the contents of the implementor of this interface.For example, given:
class A { int foo; double bar; }The return value should be a structure data type with two data type components; an INT and a DOUBLE. The structure should contain field names and, if possible, field comments.
- Specified by:
toDataTypein interfaceStructConverter- Returns:
- returns a structure datatype representing the implementor of this interface
- See Also:
-
write
Description copied from interface:WriteableWrites this object to the specified random access file using the data converter to handle endianness.- Specified by:
writein interfaceWriteable- Parameters:
raf- the random access filedc- the data converter- Throws:
IOException- if an I/O error occurs
-