Information Technology Reference
In-Depth Information
Reverse engineering Android apps
To state it in simple terms, reverse engineering is the process of retrieving source code
from an executable. Reverse engineering an Android app is done in order to understand the
functioning of the app, data storage, security mechanisms in place, and more. Before we
proceed to learn how to reverse engineer an Android app, here is a quick recap of the
Android apps:
• All the applications that are installed on the Android device are written in the Java
programming language.
• When a Java program is compiled, we get bytecode. This is sent to a dex compiler,
which converts it into a Dalvik bytecode.
• Thus, the class files are converted to dex files using dx tool. Android uses
something called Dalvik virtual machine ( DVM ) to run its applications.
• JVM's bytecode consists of one or more class files depending on the number of
Java files that are present in an application. Regardless, a Dalvik bytecode is com-
posed of only one dex file.
Thus, the dex files, XML files, and other resources that are required to run an application,
are packaged into an Android package file (an APK file). These APK files are simply a col-
lection of items within a ZIP file. Therefore, if you rename an APK extension file as .zip ,
then you will be able to see the contents of the file. But before that, you need to get access
to the APK file of the application that is installed on the phone. Here is how the APK file
corresponding to an application can be accessed.
Search WWH ::




Custom Search