Package ghidra.app.util.bin.format.pe
Class RichHeader
- java.lang.Object
-
- ghidra.app.util.bin.format.pe.RichHeader
-
- All Implemented Interfaces:
Writeable
,StructConverter
public class RichHeader extends java.lang.Object implements StructConverter, Writeable
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 Modifier and Type Field Description static int
IMAGE_DANS_SIGNATURE
static int
IMAGE_RICH_SIGNATURE
static java.lang.String
NAME
-
Constructor Summary
Constructors Constructor Description RichHeader()
Do not directly call this constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static RichHeader
createRichHeader(FactoryBundledWithBinaryReader reader)
Create and returns the Rich header found from the given reader.int
getMask()
Gets the Rich header mask.int
getOffset()
Gets the offset of the Rich header.RichHeaderRecord[]
getRecords()
Gets the Rich header records.int
getSize()
Gets the size of the Rich header.DataType
toDataType()
Returns a structure datatype representing the contents of the implementor of this interface.void
write(java.io.RandomAccessFile raf, DataConverter dc)
Writes this object to the specified random access file using the data converter to handle endianness.
-
-
-
Field Detail
-
IMAGE_RICH_SIGNATURE
public static final int IMAGE_RICH_SIGNATURE
- See Also:
- Constant Field Values
-
IMAGE_DANS_SIGNATURE
public static final int IMAGE_DANS_SIGNATURE
- See Also:
- Constant Field Values
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
createRichHeader
public static RichHeader createRichHeader(FactoryBundledWithBinaryReader reader)
Create and returns 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.- Returns:
- The Rich header associated with the given reader.
-
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
public RichHeaderRecord[] getRecords()
Gets the Rich header records.- Returns:
- the Rich header records. Could be empty if a Rich header was not found.
-
toDataType
public DataType 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:
StructureDataType
-
write
public void write(java.io.RandomAccessFile raf, DataConverter dc) throws java.io.IOException
Description copied from interface:Writeable
Writes this object to the specified random access file using the data converter to handle endianness.
-
-