com.pnfsoftware.jeb.core.units.code.asm.analyzer.IInstructionAugmenter |
![]()
INativeCodeModel<InsnType extends IInstruction>
|
Provide additional elements for instructions
, resulting from program
analysis.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract IBranchResolution |
getDynamicBranchResolution(long instructionAddress)
This routine can be called on any instruction: a regular or seemingly regular instruction; a
flow breaker; a call-to-sub.
| ||||||||||
abstract IRegistersResolution |
getRegisterValueResolution(long instructionAddress)
This routine can be called on any instruction.
| ||||||||||
abstract boolean |
isArtificialEndOfBlock(long instructionAddress)
Determine if the instruction is the last instruction of a block -- yet it is not a
target-less flow-breaker.
| ||||||||||
abstract boolean |
isCallNotReturning(long instructionAddress)
This routine should be called iff
getRoutineCall(long) indicated that
the flow is broken. |
This routine can be called on any instruction: a regular or seemingly regular instruction; a flow breaker; a call-to-sub. It is used to provide or augment the list of targets in case of a branching operation. This method may provide a resolved target or a list of candidate targets for the callsite.
This routine can be called on any instruction. It is used to provide candidate values for the registers defined and used by the instruction.
Determine if the instruction is the last instruction of a block -- yet it is not a target-less flow-breaker.
This routine should be called iff getRoutineCall(long)
indicated that
the flow is broken. In such a case, this method will determine if yes or no the fall-through
address will be executed, ie whether or not the method returns.