Interface INativeContext

All Known Subinterfaces:
INativeCodeUnit<InsnType>

@Ser public interface INativeContext
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.
  • Method Details

    • getCodeContainerType

      int getCodeContainerType()
      Returns:
      0=unknown, 1=ELF, 2=PE
    • getSubsystemType

      SubsystemType getSubsystemType()
    • getDetectedCompiler

      ICompiler getDetectedCompiler()
    • trackNativeItem

      void trackNativeItem(INativeType type, IEventListener listener)
    • getProcessor

      IProcessor<?> getProcessor()
      Retrieve the machine code parser (pseudo-processor).
      Returns:
    • getMemory

      IVirtualMemory getMemory()
    • getTypeManager

      ITypeManager getTypeManager()
    • getVirtualImageBase

      long getVirtualImageBase()
      Retrieve the virtual image base. This virtual address is the reference for every memory access.
      Returns:
      the virtual image base
    • getImageSize

      long getImageSize()
      Retrieve the size of the image
      Returns:
    • getRoutines

      List<INativeMethodItem> getRoutines()
    • getRoutine

      INativeMethodItem getRoutine(long address)
    • getRoutineOver

      INativeMethodItem getRoutineOver(long address)
    • getRoutineByName

      INativeMethodItem getRoutineByName(String name)
    • getFields

      List<INativeFieldItem> getFields()
    • getField

      INativeFieldItem getField(long address)
    • getNativeItemAt

      INativeContinuousItem getNativeItemAt(long address)
      Retrieve the native continuous memory item (a variable, an instruction) starting at the provided address.
      Parameters:
      address -
      Returns:
    • getNativeItemOver

      INativeContinuousItem getNativeItemOver(long address)
      Retrieve the native continuous memory item (a variable, an instruction) spanning over the provided address.
      Parameters:
      address -
      Returns:
    • createMethodReference

      INativeMethodItem createMethodReference(String name, IPrototypeItem prototype, INativeMethodDataItem methodData)
    • getDynamicBranchResolution

      IBranchResolution getDynamicBranchResolution(long address)
    • recordDynamicBranchTarget

      boolean recordDynamicBranchTarget(long instructionAddress, boolean resolved, IBranchTarget target)
    • requestRoutineReanalysis

      void requestRoutineReanalysis(INativeMethodItem routine)