| Interface | Description |
|---|---|
| IDalvikTyper |
| Class | Description |
|---|---|
| AbstractNullTransformer |
Abstract base class for
DexNullTransformer and
DexIfTransformer. |
| DalvikThrowAnalysis | |
| DexAnnotation |
Converts annotations from Dexlib to Jimple.
|
| DexArrayInitReducer |
Transformer that simplifies array initializations.
|
| DexBody |
A DexBody contains the code of a DexMethod and is used as a wrapper around
JimpleBody in the jimplification process.
|
| DexClassLoader |
Class for loading methods from dex files
|
| DexDefUseAnalysis |
Simplistic caching, flow-insensitive def/use analysis
|
| DexField |
This class represents all instance and static fields of a dex class.
|
| DexFileProvider |
Class providing dex files from a given source, e.g., jar, apk, dex, folder containing multiple dex files
|
| DexFileProvider.DexContainer | |
| DexIfTransformer |
BodyTransformer to find and change definition of locals used within an if
which contains a condition involving two locals ( and not only one local as
in DexNullTransformer).
|
| DexInnerClassParser |
Utility class for handling inner/outer class references in Dalvik
|
| DexJumpChainShortener |
Transformer for reducing goto chains.
|
| DexlibWrapper |
DexlibWrapper provides an entry point to the dexlib library from the smali
project.
|
| DexMethod |
DexMethod is a container for all methods that are declared in a class.
|
| DexNullArrayRefTransformer |
If Dalvik bytecode contains statements using a base array which is always
null, Soot's fast type resolver will fail with the following exception:
"Exception in thread "
main" java.lang.RuntimeException: Base of array reference is not an array!"
Those statements are replaced by a throw statement (this is what will happen
in practice if the code is executed).
|
| DexNullInstanceofTransformer |
Transformer that swaps
a = 0 instanceof _class_;
with
a = false
|
| DexNullThrowTransformer |
Some Android applications throw null references, e.g.,
a = null; throw a;
This will make unit graph construction fail as no targets of the throw
statement can be found.
|
| DexNullTransformer |
BodyTransformer to find and change IntConstant(0) to NullConstant where
locals are used as objects.
|
| DexNumTransformer |
BodyTransformer to find and change initialization type of Jimple variables.
|
| DexRefsChecker | |
| DexResolver | |
| DexReturnInliner |
BodyTransformer to inline jumps to return statements.
|
| DexReturnPacker |
This transformer is the inverse of the DexReturnInliner.
|
| DexReturnValuePropagator | |
| DexTransformer | |
| DexTrapStackFixer |
Transformer to ensure that all exception handlers pull the exception object.
|
| DexType |
Wrapper for a dexlib TypeIdItem.
|
| DvkTyperBase | |
| TrapMinimizer |
Transformer that splits traps for Dalvik whenever a statements within the
trap cannot reach the trap's handler.
|
| Util |
| Exception | Description |
|---|---|
| InvalidDalvikBytecodeException |