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