Interface INativeCodeModel<InsnType extends IInstruction>

All Superinterfaces:
IInstructionAugmenter, IMemoryModel

@Ser public interface INativeCodeModel<InsnType extends IInstruction> extends IMemoryModel, IInstructionAugmenter
Memory model manager for native code unit, normally handled by a code analyzer.
  • Method Details

    • isBasicBlockHeader

      boolean isBasicBlockHeader(long address)
      Parameters:
      address -
      Returns:
    • getBasicBlockHeader

      BasicBlock<InsnType> getBasicBlockHeader(long address)
      Parameters:
      address -
      Returns:
    • isRoutineHeader

      boolean isRoutineHeader(long address)
      Parameters:
      address -
      Returns:
    • getContainedRoutineAddresses

      List<Long> getContainedRoutineAddresses(long address)
      Get the list of routines which contain the instruction at the given address. The address must be the exact address of an instruction. If the address is the routine header or any instruction contained in a routine header block, then the returned list will contain a single element. For other addresses, the returned list may contain more than one address, for cases where a basic block is used among two or more routines. Note that this is not the norm; compiler-generated code generates routines whose code do not overlap with other routines, for most cases.
      Parameters:
      address -
      Returns:
      a list, potentially empty
    • getRoutineAddresses

      List<Long> getRoutineAddresses()
      Returns:
    • getReferenceManager

      IReferenceManager getReferenceManager()
      Returns:
    • getCallGraphManager

      ICallGraphManager getCallGraphManager()
      Returns: