public interface

ILoaderInformation

com.pnfsoftware.jeb.core.units.codeobject.ILoaderInformation
Known Indirect Subclasses

Class Overview

Basic information held within a code loader unit.

Summary

Constants
int FLAG_HAS_RELOCATION This object file contains relocation information.
int FLAG_HAS_SYMBOLS This object file contains symbolic information.
int FLAG_LIBRARY_FILE The file is a library file (eg, Windows DLL, Linux SO)
Public Methods
abstract long getCompilationTimestamp()
Get the compilation timestamp, if any.
abstract long getEntryPoint()
Get the relative address of the main entry-point, if any.
abstract int getFlags()
Get generic flags, any combination of FLAG_*.
abstract long getImageBase()
Get the ideal in-memory base address of the file.
abstract long getImageSize()
Get the in-memory size of the file.
abstract long getOverlayOffset()
Get the file offset to the overlay (also called 'appended') data in this code object, if any.
abstract ProcessorType getTargetProcessor()
Get the target processor type.
abstract SubsystemType getTargetSubsystem()
Get the target subsystem and/or operating system type.
abstract String getVersion()
Get a version information string about the code object.
abstract int getWordSize()
Get the machine word size, in bits.
abstract boolean isLittleEndian()
Determine the endianness of the machine code contained within the loader.

Constants

public static final int FLAG_HAS_RELOCATION

This object file contains relocation information.

Constant Value: 2 (0x00000002)

public static final int FLAG_HAS_SYMBOLS

This object file contains symbolic information.

Constant Value: 1 (0x00000001)

public static final int FLAG_LIBRARY_FILE

The file is a library file (eg, Windows DLL, Linux SO)

Constant Value: 4 (0x00000004)

Public Methods

public abstract long getCompilationTimestamp ()

Get the compilation timestamp, if any.

Returns
  • epoch timestamp in milliseconds

public abstract long getEntryPoint ()

Get the relative address of the main entry-point, if any.

Other exported addresses and symbols are defined within ICodeObjectUnit.

Returns
  • the relative (to the base address) address of the main entry-point

public abstract int getFlags ()

Get generic flags, any combination of FLAG_*. The flags are mostly informative.

Returns
  • the optional flags

public abstract long getImageBase ()

Get the ideal in-memory base address of the file. It is the address of the first byte of the mapped file in memory.

Returns
  • absolute address in bytes

public abstract long getImageSize ()

Get the in-memory size of the file. It is the address of the loaded or memory-mapped loader file.

Returns
  • size in bytes

public abstract long getOverlayOffset ()

Get the file offset to the overlay (also called 'appended') data in this code object, if any. Overlay data, although part of a binary file, is normally not mapped to memory by the code object loaders.

Returns
  • the overlay data offset in file, 0 if none or N/A. A code object without overlay data may also return a value equal to the input size itself

public abstract ProcessorType getTargetProcessor ()

Get the target processor type.

public abstract SubsystemType getTargetSubsystem ()

Get the target subsystem and/or operating system type.

public abstract String getVersion ()

Get a version information string about the code object.

public abstract int getWordSize ()

Get the machine word size, in bits. May be redundant with getTargetProcessor().

Returns
  • word size; common WS include 32-bit and 64-bit

public abstract boolean isLittleEndian ()

Determine the endianness of the machine code contained within the loader. May be redundant with getTargetProcessor().