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 Summary
Modifier and TypeMethodDescriptiongetBasicBlockHeader
(long address) getContainedRoutineAddresses
(long address) Get the list of routines which contain the instruction at the given address.boolean
isBasicBlockHeader
(long address) boolean
isRoutineHeader
(long address) Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.analyzer.IInstructionAugmenter
getDynamicBranchResolution, getRegisterValueResolution, isArtificialEndOfBlock, isReversedBranchSemantic
Methods inherited from interface com.pnfsoftware.jeb.core.units.code.asm.analyzer.IMemoryModel
addListener, getBitsize, getCommentManager, getContinuousItemsInRange, getFirstItem, getGapFactory, getItemAt, getItemOver, getItemOverOrGap, getItemsInRange, getLabelManager, getLastItem, getLock, getNextItem, getNextItem, getPreviousItem, getPreviousItem, getView, getView, isEmpty, isEmptyRange, notifyListenersOfModelChange, removeListener, size
-
Method Details
-
isBasicBlockHeader
boolean isBasicBlockHeader(long address) - Parameters:
address
-- Returns:
-
getBasicBlockHeader
- Parameters:
address
-- Returns:
-
isRoutineHeader
boolean isRoutineHeader(long address) - Parameters:
address
-- Returns:
-
getContainedRoutineAddresses
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
- Returns:
-
getReferenceManager
IReferenceManager getReferenceManager()- Returns:
-
getCallGraphManager
ICallGraphManager getCallGraphManager()- Returns:
-