Uses of Interface
com.pnfsoftware.jeb.core.units.code.android.ir.IDImm
Packages that use IDImm
Package
Description
This package and sub-packages contain all types used by Android code analysis plugins.
This package contains types used to publicly access and manipulate JEB's DEX Decompiler (referred
to as
dexdec
) Intermediate Representation (IR) objects.-
Uses of IDImm in com.pnfsoftware.jeb.core.units.code.android
Methods in com.pnfsoftware.jeb.core.units.code.android that return IDImmModifier and TypeMethodDescriptionIEmulatedAndroid.invokeMethod
(DInvokeType invoketype, String msig, List<IDExpression> args) Convenience method wrapping around thedex emulator
to emulate a method. -
Uses of IDImm in com.pnfsoftware.jeb.core.units.code.android.ir
Methods in com.pnfsoftware.jeb.core.units.code.android.ir that return IDImmModifier and TypeMethodDescriptionPerform an integer addition.Perform a bitwise and operation.Perform an integer division.Perform an integer multiplication.IDImm._neg()
Perform an integer negation.IDImm._not()
Perform a bitwise not operation.Perform a bitwise or operation.IDImm._pow
(int exponent) Perform an exponentiation.Perform an integer modulo operation.IDImm._sar
(int cnt) Perform an arithmetic right-shift operation (sign bit is maintained).IDImm._shl
(int cnt) Perform a left-shift operation.IDImm._shr
(int cnt) Perform a regular right-shift operation.Perform an integer subtraction.Perform a bitwise xor operation.default IDImm
IDExpression.asImm()
IDState.cloneArray
(IDImm arrayRef) Clone an array.IDState.createArray
(IJavaType type, int len, List<? extends IDImm> initialValues) Create an array.IDGlobalContext.createBoolean
(boolean value) Wrapper
used to create boolean constants.default IDImm
IDMethodContext.createBoolean
(boolean value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.IDGlobalContext.createByte
(byte value) Wrapper
used to create byte constants.default IDImm
IDMethodContext.createByte
(byte value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.IDGlobalContext.createChar
(char value) Wrapper
used to create char constants.default IDImm
IDMethodContext.createChar
(char value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.default IDImm
IDGlobalContext.createConstant
(long rawvalue, IJavaType type) Create immediate constants.IDGlobalContext.createDouble
(double value) Wrapper
used to create double constants.default IDImm
IDMethodContext.createDouble
(double value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.IDGlobalContext.createFloat
(float value) Wrapper
used to create float constants.default IDImm
IDMethodContext.createFloat
(float value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.Create immediate constants.default IDImm
This convenience IR factory method wraps aroundIDGlobalContext.createImm(long, IJavaType)
.IDGlobalContext.createInt
(int value) Wrapper
used to create int constants.default IDImm
IDMethodContext.createInt
(int value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.IDGlobalContext.createLong
(long value) Wrapper
used to create long constants.default IDImm
IDMethodContext.createLong
(long value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.IDState.createNewInstance
(String classSignature) IDState.createNewInstance
(String constructorSignature, Collection<IDExpression> constructorParameters) Create a new instance of an object.IDGlobalContext.createNull()
Wrapper
used to create the null constant.default IDImm
IDMethodContext.createNull()
Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.IDGlobalContext.createRef
(int refid) Create an object reference.Create an object reference.IDGlobalContext.createShort
(short value) Wrapper
used to create short constants.default IDImm
IDMethodContext.createShort
(short value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.IDGlobalContext.createString
(IDIndex stringIndex) Wrapper
used to create string constants.IDGlobalContext.createString
(String value) Wrapper
used to create string constants.default IDImm
IDMethodContext.createString
(IDIndex stringIndex) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.default IDImm
IDMethodContext.createString
(String value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext()
.IDImm.duplicate()
IDImm.duplicateWithDifferentType
(IJavaType type) Duplicate this immediate and assign it a different type.IDExpression.evaluate
(IDGlobalContext g, Map<Integer, IDImm> varmap) Convenience method: evaluate anon-instruction
IR expression using the provided set a variable values.IDExpression.evaluate
(IDMethodContext ctx) Convenience method: Evaluate this expression within the context of the provided method.Evaluate this expression.IDState.execute
(DExecutionParameters info) Execute some IR.IDState.executeDexMethod
(IDexMethod m, List<IDExpression> args) Execute (emulate) an IR method within a new context.IDState.getArrayElement
(IDImm arrayRef, int index) Read an array element.IDState.getClassReference
(String classname) Retrieve a classref reference by name.IDState.getInstanceField
(String fsig, IDImm instance) Retrieve the value of an instance field.IDEmuFrame.getRaisedException()
Retrieve the emulated exception raised by the emulation of this method.IDState.getStaticField
(String fsig) Retrieve the value of a static field.DexDecEvalCodeThrownException.getThrownObjectRef()
Retrieve a reference to the thrown exception.IDEmuFrame.getVariable
(int id) Read a variable.IDEmuFrame.getVariable
(int id, boolean readNullIfUnset) Read a variable.IDState.getVariable
(int varid) Convenience method to read the value of a variable in the current frame (top frame of the top context).IDState.getVariable
(int varid, boolean softFail) Convenience method to read the value of a variable in the current frame (top frame of the top context).IDState.invokeMethod
(DInvokeType invokeType, String methodSignature, IDExpression... methodParameters) Invoke (execute) a method.IDState.invokeMethod
(String methodSignature, Collection<IDExpression> methodParameters, DInvokeType invokeType) Invoke (execute) a method.IDState.registerObject
(Object o) Register an object.IDMethodExecutionHelper.simulateExecution
(IDState state, List<IDImm> args) When this method is called, the State's top frame has a PC set at thetarget method
entry-point.IDExpression.spawn
(long rawvalue) Create a new immediate IR with the provided 64-bit raw value, and the type of this IR expression.Methods in com.pnfsoftware.jeb.core.units.code.android.ir that return types with arguments of type IDImmModifier and TypeMethodDescriptionIDEmulatorHooks.examineFieldValue
(long reqid, Wrapper<IDImm> value) Currently, this hook is ignored by dexdec emulator.IDEmulatorHooks.examineMethodResult
(long reqid, IDImm result) This method is called after the emulator successfully executed the IR of an internal dex method.This method is called when the emulator is about to get (retrieve) an internal field's value.DExecutionParameters.getInitialValues()
IDEmuFrame.getVarMap()
Reserved for internal use.IDEmulatorHooks.invokeMethod
(long reqid, String msig, List<IDImm> args) This method is called when the emulator is about to execute the IR of an internal dex method.Methods in com.pnfsoftware.jeb.core.units.code.android.ir with parameters of type IDImmModifier and TypeMethodDescriptionPerform an integer addition.Perform a bitwise and operation.int
Perform a signed operand comparison.int
Perform an unsigned operand comparison.Perform an integer division.Perform an integer multiplication.Perform a bitwise or operation.Perform an integer modulo operation.Perform an integer subtraction.Perform a bitwise xor operation.void
DExecutionParameters.addInitialValue
(int varid, IDImm value) IDState.cloneArray
(IDImm arrayRef) Clone an array.IDEmulatorHooks.examineMethodResult
(long reqid, IDImm result) This method is called after the emulator successfully executed the IR of an internal dex method.IDState.getArrayElement
(IDImm arrayRef, int index) Read an array element.IDState.getArrayObject
(IDImm ref) Retrieve an array by reference.int
IDState.getArrayObjectLength
(IDImm ref) Get the length of an array.This method is called when the emulator is about to get (retrieve) an internal field's value.IDState.getInstanceField
(String fsig, IDImm instance) Retrieve the value of an instance field.Retrieve an object value by its reference.Retrieve an object value by its reference.IDState.getStringObject
(IDImm strOrRef) Retrieve a string by reference.boolean
IDState.isInstanceOf
(IDImm obj, IDImm clz) Determine whether an object is assignment-compatible with a class type.IDState.releaseObject
(IDImm ref) Release an object currently living in this State.void
IDState.setArrayElement
(IDImm arrayRef, int index, IDImm val) Write an array element.default Boolean
This method is called when the emulator is about to set an internal field's value.void
IDState.setInstanceField
(String fsig, IDImm instance, IDImm val) Update the value of an instance field.void
IDEmuFrame.setRaisedException
(IDImm ex) This method is used by the emulator to specify that the emulation of the method raised an exception.void
IDState.setStaticField
(String fsig, IDImm val) Update the value of a static field.void
IDEmuFrame.setVariable
(int id, IDImm val) Write a variable.void
IDState.setVariable
(int varid, IDImm value) Convenience method to write the value of a variable in the current frame (top frame of the top context).Method parameters in com.pnfsoftware.jeb.core.units.code.android.ir with type arguments of type IDImmModifier and TypeMethodDescriptionIDState.createArray
(IJavaType type, int len, List<? extends IDImm> initialValues) Create an array.IDExpression.evaluate
(IDGlobalContext g, Map<Integer, IDImm> varmap) Convenience method: evaluate anon-instruction
IR expression using the provided set a variable values.Convenience method: evaluate the IR instruction using the provided set a variable values.IDEmulatorHooks.examineFieldValue
(long reqid, Wrapper<IDImm> value) Currently, this hook is ignored by dexdec emulator.IDEmulatorHooks.invokeMethod
(long reqid, String msig, List<IDImm> args) This method is called when the emulator is about to execute the IR of an internal dex method.void
Reserved for internal use.IDMethodExecutionHelper.simulateExecution
(IDState state, List<IDImm> args) When this method is called, the State's top frame has a PC set at thetarget method
entry-point.Constructors in com.pnfsoftware.jeb.core.units.code.android.ir with parameters of type IDImm