Package | Description |
---|---|
soot |
Base Soot classes, shared by different intermediate representations.
|
soot.dexpler | |
soot.dexpler.instructions | |
soot.dexpler.typing |
Class and Description |
---|
DalvikThrowAnalysis |
DexResolver |
TrapMinimizer
Transformer that splits traps for Dalvik whenever
a statements within the trap cannot reach the trap's handler.
|
Class and Description |
---|
AbstractNullTransformer
Abstract base class for
DexNullTransformer and DexIfTransformer . |
DalvikThrowAnalysis |
DexArrayInitReducer
Transformer that simplifies array initializations.
|
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).
|
DexJumpChainShortener
Transformer for reducing goto chains.
|
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).
|
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 |
InvalidDalvikBytecodeException |
TrapMinimizer
Transformer that splits traps for Dalvik whenever
a statements within the trap cannot reach the trap's handler.
|
Class and Description |
---|
DexBody
A DexBody contains the code of a DexMethod and is used as a wrapper around
JimpleBody in the jimplification process.
|
InvalidDalvikBytecodeException |
Class and Description |
---|
IDalvikTyper |