com.pnfsoftware.jeb.core.units.code.asm.analyzer.IInstructionAugmenter |
Known Indirect Subclasses
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)
Force the end of a basic block, regardless of flow information.
| ||||||||||
abstract boolean |
isReversedBranchSemantic(long instructionAddress)
Determine whether the branching instruction at the provided address, if there is one, should
have its branch semantics reversed, that is, a flow-breaker should be interpreted as a
call-to-sub, whereas a call-to-sub should be interpreted as flow-breaker.
|
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.
Force the end of a basic block, regardless of flow information.
Determine whether the branching instruction at the provided address, if there is one, should have its branch semantics reversed, that is, a flow-breaker should be interpreted as a call-to-sub, whereas a call-to-sub should be interpreted as flow-breaker.