Class DExecutionParameters
java.lang.Object
com.pnfsoftware.jeb.core.units.code.android.ir.DExecutionParameters
dexdec
IR emulation parameters object. Such objects are used with a State's
executeIR()
method.
This object is used to specify a list of IR instructions, execute them or a region of that list, with restrictions.
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe count of iterations left.Starting IR program counter.Optional.Optional.Optional. -
Constructor Summary
ConstructorsConstructorDescriptionCreate an object, ready to emulate an entire IR routine.DExecutionParameters
(CFG<IDInstruction> cfg, IDTryData exdata) Create an object, ready to emulate an entire IR routine.Create an object, ready to emulate an entire IR routine.DExecutionParameters
(SortedMap<Integer, IDInstruction> insnmap) Create an object.DExecutionParameters
(SortedMap<Integer, IDInstruction> insnmap, Map<Integer, Integer> dalvik2irmap, Map<Integer, Integer> ir2dalvikmap) Create an object. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addInitialValue
(int varid, IDImm value) getCFG()
void
prepareIterations
(Integer itercnt) Reset all parameters to null, except for the instruction map (and associated optional maps like dalvik-to-ir, ir-to-dalvik maps).
-
Field Details
-
pc
Starting IR program counter. -
pcExpectedTermination
Optional. The emulation will stopped, and the last execution return result, if the PC gets to reach this value. (The IR instruction atpcExpectedTermination
is not executed!) -
pcThresholdMin
Optional. The emulation will stop if the PC gets less than this value. -
pcThresholdMax
Optional. The emulation will stop if the PC gets greater or equal than this value. -
iterationCountLeft
The count of iterations left. This counter is separate thanIDState.getIterationCountLeft()
! Every time an IR instruction is emulated, this counter is decreased. An exception is raised if it reaches 0. (An exception would also be raised if theIDState
's counter reaches 0.)
-
-
Constructor Details
-
DExecutionParameters
Create an object.- Parameters:
insnmap
- mandatory instruction map: key=IR offset, value= IR instruction
-
DExecutionParameters
public DExecutionParameters(SortedMap<Integer, IDInstruction> insnmap, Map<Integer, Integer> dalvik2irmap, Map<Integer, Integer> ir2dalvikmap) Create an object.- Parameters:
insnmap
- mandatory instruction map: key=IR offset, value= IR instructiondalvik2irmap
- optional map of dalvik offset mapping to a matching IR instruction offsetir2dalvikmap
- optional map
-
DExecutionParameters
Create an object, ready to emulate an entire IR routine.- Parameters:
cfg
- mandatory
-
DExecutionParameters
Create an object, ready to emulate an entire IR routine.- Parameters:
ctx
-
-
DExecutionParameters
Create an object, ready to emulate an entire IR routine.- Parameters:
cfg
-exdata
-
-
-
Method Details
-
getInstructionMap
-
getDalvikToIRMap
-
getIRToDalvikMap
-
getCFG
-
getExceptionData
-
getInitialValues
-
addInitialValue
-
prepareIterations
Reset all parameters to null, except for the instruction map (and associated optional maps like dalvik-to-ir, ir-to-dalvik maps).- Parameters:
itercnt
-
-