public interface

INativeContext

com.pnfsoftware.jeb.core.units.code.asm.INativeContext
Known Indirect Subclasses

Class Overview

Native code context. The context is a super-interface of the INativeCodeUnit and allows the implementation of test disassemblers outside of the unit management facility.

Summary

Public Methods
abstract INativeMethodItem createMethodReference(String name, IPrototypeItem prototype, INativeMethodDataItem methodData)
abstract int getCodeContainerType()
abstract ICompiler getDetectedCompiler()
abstract IBranchResolution getDynamicBranchResolution(long address)
abstract INativeFieldItem getField(long address)
abstract List<INativeFieldItem> getFields()
abstract long getImageSize()
Retrieve the size of the image
abstract IVirtualMemory getMemory()
abstract INativeContinuousItem getNativeItemAt(long address)
Retrieve the native continuous memory item (a variable, an instruction) starting at the provided address.
abstract INativeContinuousItem getNativeItemOver(long address)
Retrieve the native continuous memory item (a variable, an instruction) spanning over the provided address.
abstract IProcessor<?> getProcessor()
Retrieve the machine code parser (pseudo-processor).
abstract INativeMethodItem getRoutine(long address)
abstract INativeMethodItem getRoutineByName(String name)
abstract INativeMethodItem getRoutineOver(long address)
abstract List<INativeMethodItem> getRoutines()
abstract SubsystemType getSubsystemType()
abstract ITypeManager getTypeManager()
abstract long getVirtualImageBase()
Retrieve the virtual image base.
abstract boolean recordDynamicBranchTarget(long instructionAddress, boolean resolved, IBranchTarget target)
abstract void requestRoutineReanalysis(INativeMethodItem routine)
abstract void trackNativeItem(INativeType type, IEventListener listener)

Public Methods

public abstract INativeMethodItem createMethodReference (String name, IPrototypeItem prototype, INativeMethodDataItem methodData)

public abstract int getCodeContainerType ()

Returns
  • 0=unknown, 1=ELF, 2=PE

public abstract ICompiler getDetectedCompiler ()

public abstract IBranchResolution getDynamicBranchResolution (long address)

public abstract INativeFieldItem getField (long address)

public abstract List<INativeFieldItem> getFields ()

public abstract long getImageSize ()

Retrieve the size of the image

public abstract IVirtualMemory getMemory ()

public abstract INativeContinuousItem getNativeItemAt (long address)

Retrieve the native continuous memory item (a variable, an instruction) starting at the provided address.

public abstract INativeContinuousItem getNativeItemOver (long address)

Retrieve the native continuous memory item (a variable, an instruction) spanning over the provided address.

public abstract IProcessor<?> getProcessor ()

Retrieve the machine code parser (pseudo-processor).

public abstract INativeMethodItem getRoutine (long address)

public abstract INativeMethodItem getRoutineByName (String name)

public abstract INativeMethodItem getRoutineOver (long address)

public abstract List<INativeMethodItem> getRoutines ()

public abstract SubsystemType getSubsystemType ()

public abstract ITypeManager getTypeManager ()

public abstract long getVirtualImageBase ()

Retrieve the virtual image base. This virtual address is the reference for every memory access.

Returns
  • the virtual image base

public abstract boolean recordDynamicBranchTarget (long instructionAddress, boolean resolved, IBranchTarget target)

public abstract void requestRoutineReanalysis (INativeMethodItem routine)

public abstract void trackNativeItem (INativeType type, IEventListener listener)