Uses of Class
com.pnfsoftware.jeb.core.units.code.android.ir.DexDecEvaluationException
Packages that use DexDecEvaluationException
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 DexDecEvaluationException in com.pnfsoftware.jeb.core.units.code.android
Methods in com.pnfsoftware.jeb.core.units.code.android that throw DexDecEvaluationExceptionModifier and TypeMethodDescriptionvoidIGenericUnpacker.attemptUnpack()Start the unpacking process.IEmulatedAndroid.invokeMethod(DInvokeType invoketype, String msig, List<IDExpression> args) Convenience method wrapping around thedex emulatorto emulate a method. -
Uses of DexDecEvaluationException in com.pnfsoftware.jeb.core.units.code.android.ir
Subclasses of DexDecEvaluationException in com.pnfsoftware.jeb.core.units.code.android.irModifier and TypeClassDescriptionclassThose objects are used to wrap throwables raised by the emulated code.classThe emulation of some Dalvik code failed because there was an error reported when translating to IR.classThe emulation is taking too long (maximum iteration count exceeded).classAn error occurred while executing code in the emulator-controlled sandbox.classAn internal exception used when attempting to emulate a method whose body was removed.classThe emulation is taking too long (timeout exceeded).classAn error occurred in code running in a restricted thread not directly managed by the emulator.classAn error occurred while evaluating native code.Methods in com.pnfsoftware.jeb.core.units.code.android.ir that throw DexDecEvaluationExceptionModifier and TypeMethodDescriptionIDState.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.IDState.createNewInstance(String classSignature) IDState.createNewInstance(String constructorSignature, Collection<IDExpression> constructorParameters) Create a new instance of an object.booleanIDEmuFrame.deleteVariable(int id) Remove (unset) a variable.booleanIDState.deleteVariable(int varid) Convenience method to remove a defined variable in the current frame (top frame of the top context).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.Convenience method: evaluate the IR instruction using the provided set a variable values.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.getArrayObject(IDImm ref) Retrieve an array by reference.intIDState.getArrayObjectLength(IDImm ref) Get the length of an array.IDState.getClassReference(String classname) Retrieve a classref reference by name.IDState.getInstanceField(String fsig, IDImm instance) Retrieve the value of an instance field.IDState.getNativeLibraries()Get the list of native libraries loaded in the native emulator.IDState.getObject(int objid) Convenience method to retrieve an object by its reference id.Retrieve an object value by its reference.Retrieve an object value by its reference.IDState.getObjectClass(int objid) Retrieve the emulated class object for the provided object.intIDState.getObjectClassId(int objid) Retrieve the class object reference id of the provided object.IDState.getStaticField(String fsig) Retrieve the value of a static field.IDState.getStringObject(IDImm strOrRef) Retrieve a string by reference.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).booleanIDEmuFrame.hasVariable(int id) Determine whether a variable is set (has a value).booleanIDState.hasVariable(int varid) Determine whether a variable is set (has a value).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.booleanIDState.isInstanceOf(IDImm obj, IDImm clz) Determine whether an object is assignment-compatible with a class type.Class<?>Find, load and initialize a class.Class<?>Find a class.IDState.loadNativeLibrary(IELFUnit lib) Load (or retrieve a reference to an already-loaded) native SO library.IDState.loadNativeLibrary(String libname) Load (or retrieve a reference to an already-loaded) native SO library.IDState.loadNativeLibrary(String libname, boolean isPath) Load (or retrieve a reference to an already-loaded) native SO library.IDState.releaseObject(IDImm ref) Release an object currently living in this State.voidIDState.setArrayElement(IDImm arrayRef, int index, IDImm val) Write an array element.voidIDState.setInstanceField(String fsig, IDImm instance, IDImm val) Update the value of an instance field.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).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.doubleIDImm.toDouble()Evaluate this immediate as a double-precision float.floatIDImm.toFloat()Evaluate this immediate as a single-precision float.longIDImm.toLong()Evaluate this immediate as a signed long primitive.longIDImm.toLong(boolean treatSregAsInt) Evaluate this immediate as a signed long primitive.longIDImm.toUnsignedLong()Evaluate this immediate as an unsigned long.