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
-
Constructor Summary
ConstructorDescriptionRichHeader
(BinaryReader reader) Creates the Rich header found from the given reader. -
Method Summary
Modifier and TypeMethodDescriptionint
getMask()
Gets the Rich header mask.int
Gets the offset of the Rich header.Gets the Rich header records.int
getSize()
Gets the size of the Rich header.Returns a structure datatype representing the contents of the implementor of this interface.void
write
(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:StructConverter
Returns 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:
toDataType
in interfaceStructConverter
- Returns:
- returns a structure datatype representing the implementor of this interface
- See Also:
-
write
Description copied from interface:Writeable
Writes this object to the specified random access file using the data converter to handle endianness.- Specified by:
write
in interfaceWriteable
- Parameters:
raf
- the random access filedc
- the data converter- Throws:
IOException
- if an I/O error occurs
-