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 emulatorto 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 IDImmIDExpression.asImm()IDState.cloneArray(IDImm arrayRef) Clone an array.IDState.createArray(IJavaType type, int len, List<? extends IDImm> initialValues) Create an array.IDState.createArray(String typesig, int len, List<? extends IDImm> initialValues) Create an array.IDGlobalContext.createBoolean(boolean value) Wrapperused to create boolean constants.default IDImmIDMethodContext.createBoolean(boolean value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().IDGlobalContext.createByte(byte value) Wrapperused to create byte constants.default IDImmIDMethodContext.createByte(byte value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().IDGlobalContext.createChar(char value) Wrapperused to create char constants.default IDImmIDMethodContext.createChar(char value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().default IDImmIDGlobalContext.createConstant(long rawvalue, IJavaType type) Create immediate constants.IDGlobalContext.createDouble(double value) Wrapperused to create double constants.default IDImmIDMethodContext.createDouble(double value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().IDGlobalContext.createFloat(float value) Wrapperused to create float constants.default IDImmIDMethodContext.createFloat(float value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().Create immediate constants.default IDImmThis convenience IR factory method wraps aroundIDGlobalContext.createImm(long, IJavaType).IDGlobalContext.createInt(int value) Wrapperused to create int constants.default IDImmIDMethodContext.createInt(int value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().IDGlobalContext.createLong(long value) Wrapperused to create long constants.default IDImmIDMethodContext.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()Wrapperused to create the null constant.default IDImmIDMethodContext.createNull()Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().IDGlobalContext.createRef(int refid) Create an object reference.Create an object reference.IDGlobalContext.createShort(short value) Wrapperused to create short constants.default IDImmIDMethodContext.createShort(short value) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().IDGlobalContext.createString(IDIndex stringIndex) Wrapperused to create string constants.IDGlobalContext.createString(String value) Wrapperused to create string constants.default IDImmIDMethodContext.createString(IDIndex stringIndex) Convenience IR factory method wrapping aroundIDMethodContext.getGlobalContext().default IDImmIDMethodContext.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-instructionIR 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 methodentry-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.intPerform a signed operand comparison.intPerform 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.voidDExecutionParameters.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.intIDState.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.booleanIDState.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.voidIDState.setArrayElement(IDImm arrayRef, int index, IDImm val) Write an array element.default BooleanThis method is called when the emulator is about to set an internal field's value.voidIDState.setInstanceField(String fsig, IDImm instance, IDImm val) Update the value of an instance field.voidIDEmuFrame.setRaisedException(IDImm ex) This method is used by the emulator to specify that the emulation of the method raised an exception.voidIDState.setStaticField(String fsig, IDImm val) Update the value of a static field.voidIDEmuFrame.setVariable(int id, IDImm val) Write a variable.voidIDState.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.IDState.createArray(String typesig, int len, List<? extends IDImm> initialValues) Create an array.IDExpression.evaluate(IDGlobalContext g, Map<Integer, IDImm> varmap) Convenience method: evaluate anon-instructionIR 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.voidReserved 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 methodentry-point.Constructors in com.pnfsoftware.jeb.core.units.code.android.ir with parameters of type IDImm