edu.arizona.cs.mbel.parse
Class PE_Header

java.lang.Object
  extended byedu.arizona.cs.mbel.parse.PE_Header

public class PE_Header
extends java.lang.Object

This class parses the PE header of a PE/COFF file


Field Summary
 long AddressOfEntryPoint
           
 long BaseOfCode
           
 long BaseOfData
           
 long CheckSum
           
 ImageDataDirectory[] DataDirectory
           
 int DllCharacteristics
           
 long FileAlignment
           
 long ImageBase
           
 long LoaderFlags
           
 int Magic
           
 int MajorImageVersion
           
 int MajorLinkerVersion
           
 int MajorOperatingSystemVersion
           
 int MajorSubsystemVersion
           
 int MinorImageVersion
           
 int MinorLinkerVersion
           
 int MinorOperatingSystemVersion
           
 int MinorSubsystemVersion
           
 long NumberOfRvaAndSizes
           
static int PE_SUBSYSTEM_NATIVE
           
static int PE_SUBSYSTEM_NATIVE_WINDOWS
           
static int PE_SUBSYSTEM_OS2_CUI
           
static int PE_SUBSYSTEM_POSIX_CUI
           
static int PE_SUBSYSTEM_WINDOWS_CE_GUI
           
static int PE_SUBSYSTEM_WINDOWS_CUI
           
static int PE_SUBSYSTEM_WINDOWS_GUI
           
static byte[] PE_TAG
           
static int PE32_MAGIC
           
static int PE32_PLUS_MAGIC
           
 long SectionAlignment
           
 long SizeOfCode
           
 long SizeOfHeaders
           
 long SizeOfHeapCommit
           
 long SizeOfHeapReserve
           
 long SizeOfImage
           
 long SizeOfInitializedData
           
 long SizeOfStackCommit
           
 long SizeOfStackReserve
           
 long SizeOfUninitializedData
           
 int Subsystem
           
 long Win32VersionValue
           
 
Constructor Summary
protected PE_Header(int sub)
           
  PE_Header(MSILInputStream in)
          Parses a PE_Header from an input stream
 
Method Summary
 void emit(ByteBuffer buffer)
          Writes the PE_Header out to a buffer
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PE_TAG

public static final byte[] PE_TAG

PE_SUBSYSTEM_NATIVE

public static final int PE_SUBSYSTEM_NATIVE
See Also:
Constant Field Values

PE_SUBSYSTEM_WINDOWS_GUI

public static final int PE_SUBSYSTEM_WINDOWS_GUI
See Also:
Constant Field Values

PE_SUBSYSTEM_WINDOWS_CUI

public static final int PE_SUBSYSTEM_WINDOWS_CUI
See Also:
Constant Field Values

PE_SUBSYSTEM_OS2_CUI

public static final int PE_SUBSYSTEM_OS2_CUI
See Also:
Constant Field Values

PE_SUBSYSTEM_POSIX_CUI

public static final int PE_SUBSYSTEM_POSIX_CUI
See Also:
Constant Field Values

PE_SUBSYSTEM_NATIVE_WINDOWS

public static final int PE_SUBSYSTEM_NATIVE_WINDOWS
See Also:
Constant Field Values

PE_SUBSYSTEM_WINDOWS_CE_GUI

public static final int PE_SUBSYSTEM_WINDOWS_CE_GUI
See Also:
Constant Field Values

PE32_MAGIC

public static final int PE32_MAGIC
See Also:
Constant Field Values

PE32_PLUS_MAGIC

public static final int PE32_PLUS_MAGIC
See Also:
Constant Field Values

Magic

public int Magic

MajorLinkerVersion

public int MajorLinkerVersion

MinorLinkerVersion

public int MinorLinkerVersion

SizeOfCode

public long SizeOfCode

SizeOfInitializedData

public long SizeOfInitializedData

SizeOfUninitializedData

public long SizeOfUninitializedData

AddressOfEntryPoint

public long AddressOfEntryPoint

BaseOfCode

public long BaseOfCode

BaseOfData

public long BaseOfData

ImageBase

public long ImageBase

SectionAlignment

public long SectionAlignment

FileAlignment

public long FileAlignment

MajorOperatingSystemVersion

public int MajorOperatingSystemVersion

MinorOperatingSystemVersion

public int MinorOperatingSystemVersion

MajorImageVersion

public int MajorImageVersion

MinorImageVersion

public int MinorImageVersion

MajorSubsystemVersion

public int MajorSubsystemVersion

MinorSubsystemVersion

public int MinorSubsystemVersion

Win32VersionValue

public long Win32VersionValue

SizeOfImage

public long SizeOfImage

SizeOfHeaders

public long SizeOfHeaders

CheckSum

public long CheckSum

Subsystem

public int Subsystem

DllCharacteristics

public int DllCharacteristics

SizeOfStackReserve

public long SizeOfStackReserve

SizeOfStackCommit

public long SizeOfStackCommit

SizeOfHeapReserve

public long SizeOfHeapReserve

SizeOfHeapCommit

public long SizeOfHeapCommit

LoaderFlags

public long LoaderFlags

NumberOfRvaAndSizes

public long NumberOfRvaAndSizes

DataDirectory

public ImageDataDirectory[] DataDirectory
Constructor Detail

PE_Header

protected PE_Header(int sub)

PE_Header

public PE_Header(MSILInputStream in)
          throws java.io.IOException,
                 MSILParseException
Parses a PE_Header from an input stream

Method Detail

emit

public void emit(ByteBuffer buffer)
Writes the PE_Header out to a buffer