C. Java-Based Analysis
Because of the similarities between Dalvik and Java code, there are several tools designed to convert Dalvik code into Java. The tools ded [15] and dex2jar [4] can convert Dalvik bytecode into JVM bytecode. This allows tools designed for Java bytecode analysis to be used on Android applications. However, these tools are only intended for one-way conversion to Java bytecode, and attempts to convert back to Dalvik are reported [6] to frequently result in Android apps that no longer function. It is nontrivial to do the round-trip conversion between Dalvik and Java bytecode, so our approach operates on the Dalvik bytecode without requiring conversion to Java.